linear_algebra.matrix.general_linear_groupMathlib.LinearAlgebra.Matrix.GeneralLinearGroup

This file has been ported!

Changes since the initial port

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

Changes in mathlib3

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(last sync)

Changes in mathlib3port

mathlib3
mathlib3port
Diff
@@ -3,9 +3,9 @@ Copyright (c) 2021 Chris Birkbeck. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Chris Birkbeck
 -/
-import Mathbin.LinearAlgebra.GeneralLinearGroup
-import Mathbin.LinearAlgebra.Matrix.NonsingularInverse
-import Mathbin.LinearAlgebra.Matrix.SpecialLinearGroup
+import LinearAlgebra.GeneralLinearGroup
+import LinearAlgebra.Matrix.NonsingularInverse
+import LinearAlgebra.Matrix.SpecialLinearGroup
 
 #align_import linear_algebra.matrix.general_linear_group from "leanprover-community/mathlib"@"a87d22575d946e1e156fc1edd1e1269600a8a282"
 
Diff
@@ -2,16 +2,13 @@
 Copyright (c) 2021 Chris Birkbeck. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Chris Birkbeck
-
-! This file was ported from Lean 3 source module linear_algebra.matrix.general_linear_group
-! leanprover-community/mathlib commit a87d22575d946e1e156fc1edd1e1269600a8a282
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathbin.LinearAlgebra.GeneralLinearGroup
 import Mathbin.LinearAlgebra.Matrix.NonsingularInverse
 import Mathbin.LinearAlgebra.Matrix.SpecialLinearGroup
 
+#align_import linear_algebra.matrix.general_linear_group from "leanprover-community/mathlib"@"a87d22575d946e1e156fc1edd1e1269600a8a282"
+
 /-!
 # The General Linear group $GL(n, R)$
 
Diff
@@ -53,13 +53,13 @@ abbrev GeneralLinearGroup (n : Type u) (R : Type v) [DecidableEq n] [Fintype n]
 #align matrix.general_linear_group Matrix.GeneralLinearGroup
 -/
 
--- mathport name: exprGL
 notation "GL" => GeneralLinearGroup
 
 namespace GeneralLinearGroup
 
 variable {n : Type u} [DecidableEq n] [Fintype n] {R : Type v} [CommRing R]
 
+#print Matrix.GeneralLinearGroup.det /-
 /-- The determinant of a unit matrix is itself a unit. -/
 @[simps]
 def det : GL n R →* Rˣ
@@ -72,26 +72,35 @@ def det : GL n R →* Rˣ
   map_one' := Units.ext det_one
   map_mul' A B := Units.ext <| det_mul _ _
 #align matrix.general_linear_group.det Matrix.GeneralLinearGroup.det
+-/
 
+#print Matrix.GeneralLinearGroup.toLin /-
 /-- The `GL n R` and `general_linear_group R n` groups are multiplicatively equivalent-/
 def toLin : GL n R ≃* LinearMap.GeneralLinearGroup R (n → R) :=
   Units.mapEquiv toLinAlgEquiv'.toMulEquiv
 #align matrix.general_linear_group.to_lin Matrix.GeneralLinearGroup.toLin
+-/
 
+#print Matrix.GeneralLinearGroup.mk' /-
 /-- Given a matrix with invertible determinant we get an element of `GL n R`-/
 def mk' (A : Matrix n n R) (h : Invertible (Matrix.det A)) : GL n R :=
   unitOfDetInvertible A
 #align matrix.general_linear_group.mk' Matrix.GeneralLinearGroup.mk'
+-/
 
+#print Matrix.GeneralLinearGroup.mk'' /-
 /-- Given a matrix with unit determinant we get an element of `GL n R`-/
 noncomputable def mk'' (A : Matrix n n R) (h : IsUnit (Matrix.det A)) : GL n R :=
   nonsingInvUnit A h
 #align matrix.general_linear_group.mk'' Matrix.GeneralLinearGroup.mk''
+-/
 
+#print Matrix.GeneralLinearGroup.mkOfDetNeZero /-
 /-- Given a matrix with non-zero determinant over a field, we get an element of `GL n K`-/
 def mkOfDetNeZero {K : Type _} [Field K] (A : Matrix n n K) (h : Matrix.det A ≠ 0) : GL n K :=
   mk' A (invertibleOfNonzero h)
 #align matrix.general_linear_group.mk_of_det_ne_zero Matrix.GeneralLinearGroup.mkOfDetNeZero
+-/
 
 #print Matrix.GeneralLinearGroup.ext_iff /-
 theorem ext_iff (A B : GL n R) : A = B ↔ ∀ i j, (A : Matrix n n R) i j = (B : Matrix n n R) i j :=
@@ -110,27 +119,36 @@ section CoeLemmas
 
 variable (A B : GL n R)
 
+#print Matrix.GeneralLinearGroup.coe_mul /-
 @[simp]
 theorem coe_mul : ↑(A * B) = (↑A : Matrix n n R) ⬝ (↑B : Matrix n n R) :=
   rfl
 #align matrix.general_linear_group.coe_mul Matrix.GeneralLinearGroup.coe_mul
+-/
 
+#print Matrix.GeneralLinearGroup.coe_one /-
 @[simp]
 theorem coe_one : ↑(1 : GL n R) = (1 : Matrix n n R) :=
   rfl
 #align matrix.general_linear_group.coe_one Matrix.GeneralLinearGroup.coe_one
+-/
 
+#print Matrix.GeneralLinearGroup.coe_inv /-
 theorem coe_inv : ↑A⁻¹ = (↑A : Matrix n n R)⁻¹ :=
   letI := A.invertible
   inv_of_eq_nonsing_inv (↑A : Matrix n n R)
 #align matrix.general_linear_group.coe_inv Matrix.GeneralLinearGroup.coe_inv
+-/
 
+#print Matrix.GeneralLinearGroup.toLinear /-
 /-- An element of the matrix general linear group on `(n) [fintype n]` can be considered as an
 element of the endomorphism general linear group on `n → R`. -/
 def toLinear : GeneralLinearGroup n R ≃* LinearMap.GeneralLinearGroup R (n → R) :=
   Units.mapEquiv Matrix.toLinAlgEquiv'.toRingEquiv.toMulEquiv
 #align matrix.general_linear_group.to_linear Matrix.GeneralLinearGroup.toLinear
+-/
 
+#print Matrix.GeneralLinearGroup.coe_toLinear /-
 -- Note that without the `@` and `‹_›`, lean infers `λ a b, _inst a b` instead of `_inst` as the
 -- decidability argument, which prevents `simp` from obtaining the instance by unification.
 -- These `λ a b, _inst a b` terms also appear in the type of `A`, but simp doesn't get confused by
@@ -139,11 +157,14 @@ def toLinear : GeneralLinearGroup n R ≃* LinearMap.GeneralLinearGroup R (n →
 theorem coe_toLinear : (@toLinear n ‹_› ‹_› _ _ A : (n → R) →ₗ[R] n → R) = Matrix.mulVecLin A :=
   rfl
 #align matrix.general_linear_group.coe_to_linear Matrix.GeneralLinearGroup.coe_toLinear
+-/
 
+#print Matrix.GeneralLinearGroup.toLinear_apply /-
 @[simp]
 theorem toLinear_apply (v : n → R) : (@toLinear n ‹_› ‹_› _ _ A) v = Matrix.mulVecLin (↑A) v :=
   rfl
 #align matrix.general_linear_group.to_linear_apply Matrix.GeneralLinearGroup.toLinear_apply
+-/
 
 end CoeLemmas
 
@@ -159,10 +180,12 @@ instance hasCoeToGeneralLinearGroup : Coe (SpecialLinearGroup n R) (GL n R) :=
 #align matrix.special_linear_group.has_coe_to_general_linear_group Matrix.SpecialLinearGroup.hasCoeToGeneralLinearGroup
 -/
 
+#print Matrix.SpecialLinearGroup.coeToGL_det /-
 @[simp]
 theorem coeToGL_det (g : SpecialLinearGroup n R) : (g : GL n R).det = 1 :=
   Units.ext g.Prop
 #align matrix.special_linear_group.coe_to_GL_det Matrix.SpecialLinearGroup.coeToGL_det
+-/
 
 end SpecialLinearGroup
 
@@ -174,22 +197,28 @@ section
 
 variable (n R)
 
+#print Matrix.GLPos /-
 /-- This is the subgroup of `nxn` matrices with entries over a
 linear ordered ring and positive determinant. -/
 def GLPos : Subgroup (GL n R) :=
   (Units.posSubgroup R).comap GeneralLinearGroup.det
 #align matrix.GL_pos Matrix.GLPos
+-/
 
 end
 
+#print Matrix.mem_glpos /-
 @[simp]
 theorem mem_glpos (A : GL n R) : A ∈ GLPos n R ↔ 0 < (A.det : R) :=
   Iff.rfl
 #align matrix.mem_GL_pos Matrix.mem_glpos
+-/
 
+#print Matrix.GLPos.det_ne_zero /-
 theorem GLPos.det_ne_zero (A : GLPos n R) : (A : Matrix n n R).det ≠ 0 :=
   ne_of_gt A.Prop
 #align matrix.GL_pos.det_ne_zero Matrix.GLPos.det_ne_zero
+-/
 
 end
 
@@ -208,21 +237,27 @@ instance : Neg (GLPos n R) :=
         (Fact.out <| Even <| Fintype.card n).neg_one_pow, one_mul]
       exact g.prop⟩⟩
 
+#print Matrix.GLPos.coe_neg_GL /-
 @[simp]
 theorem GLPos.coe_neg_GL (g : GLPos n R) : ↑(-g) = -(g : GL n R) :=
   rfl
 #align matrix.GL_pos.coe_neg_GL Matrix.GLPos.coe_neg_GL
+-/
 
+#print Matrix.GLPos.coe_neg /-
 @[simp]
 theorem GLPos.coe_neg (g : GLPos n R) : ↑(-g) = -(g : Matrix n n R) :=
   rfl
 #align matrix.GL_pos.coe_neg Matrix.GLPos.coe_neg
+-/
 
+#print Matrix.GLPos.coe_neg_apply /-
 @[simp]
 theorem GLPos.coe_neg_apply (g : GLPos n R) (i j : n) :
     (↑(-g) : Matrix n n R) i j = -(↑g : Matrix n n R) i j :=
   rfl
 #align matrix.GL_pos.coe_neg_apply Matrix.GLPos.coe_neg_apply
+-/
 
 instance : HasDistribNeg (GLPos n R) :=
   Subtype.coe_injective.HasDistribNeg _ GLPos.coe_neg_GL (GLPos n R).val_mul
@@ -233,6 +268,7 @@ namespace SpecialLinearGroup
 
 variable {n : Type u} [DecidableEq n] [Fintype n] {R : Type v} [LinearOrderedCommRing R]
 
+#print Matrix.SpecialLinearGroup.toGLPos /-
 /-- `special_linear_group n R` embeds into `GL_pos n R` -/
 def toGLPos : SpecialLinearGroup n R →* GLPos n R
     where
@@ -240,6 +276,7 @@ def toGLPos : SpecialLinearGroup n R →* GLPos n R
   map_one' := Subtype.ext <| Units.ext <| rfl
   map_mul' A₁ A₂ := Subtype.ext <| Units.ext <| rfl
 #align matrix.special_linear_group.to_GL_pos Matrix.SpecialLinearGroup.toGLPos
+-/
 
 instance : Coe (SpecialLinearGroup n R) (GLPos n R) :=
   ⟨toGLPos⟩
@@ -248,11 +285,14 @@ theorem coe_eq_toGLPos : (coe : SpecialLinearGroup n R → GLPos n R) = toGLPos
   rfl
 #align matrix.special_linear_group.coe_eq_to_GL_pos Matrix.SpecialLinearGroup.coe_eq_toGLPos
 
+#print Matrix.SpecialLinearGroup.toGLPos_injective /-
 theorem toGLPos_injective : Function.Injective (toGLPos : SpecialLinearGroup n R → GLPos n R) :=
   (show Function.Injective ((coe : GLPos n R → Matrix n n R) ∘ toGLPos) from
       Subtype.coe_injective).of_comp
 #align matrix.special_linear_group.to_GL_pos_injective Matrix.SpecialLinearGroup.toGLPos_injective
+-/
 
+#print Matrix.SpecialLinearGroup.coe_GLPos_coe_GL_coe_matrix /-
 /-- Coercing a `special_linear_group` via `GL_pos` and `GL` is the same as coercing striaght to a
 matrix. -/
 @[simp]
@@ -260,23 +300,29 @@ theorem coe_GLPos_coe_GL_coe_matrix (g : SpecialLinearGroup n R) :
     (↑(↑(↑g : GLPos n R) : GL n R) : Matrix n n R) = ↑g :=
   rfl
 #align matrix.special_linear_group.coe_GL_pos_coe_GL_coe_matrix Matrix.SpecialLinearGroup.coe_GLPos_coe_GL_coe_matrix
+-/
 
+#print Matrix.SpecialLinearGroup.coe_to_GLPos_to_GL_det /-
 @[simp]
 theorem coe_to_GLPos_to_GL_det (g : SpecialLinearGroup n R) : ((g : GLPos n R) : GL n R).det = 1 :=
   Units.ext g.Prop
 #align matrix.special_linear_group.coe_to_GL_pos_to_GL_det Matrix.SpecialLinearGroup.coe_to_GLPos_to_GL_det
+-/
 
 variable [Fact (Even (Fintype.card n))]
 
+#print Matrix.SpecialLinearGroup.coe_GLPos_neg /-
 @[norm_cast]
 theorem coe_GLPos_neg (g : SpecialLinearGroup n R) : ↑(-g) = -(↑g : GLPos n R) :=
   Subtype.ext <| Units.ext rfl
 #align matrix.special_linear_group.coe_GL_pos_neg Matrix.SpecialLinearGroup.coe_GLPos_neg
+-/
 
 end SpecialLinearGroup
 
 section Examples
 
+#print Matrix.planeConformalMatrix /-
 /-- The matrix [a, -b; b, a] (inspired by multiplication by a complex number); it is an element of
 $GL_2(R)$ if `a ^ 2 + b ^ 2` is nonzero. -/
 @[simps (config := { fullyApplied := false }) coe]
@@ -284,6 +330,7 @@ def planeConformalMatrix {R} [Field R] (a b : R) (hab : a ^ 2 + b ^ 2 ≠ 0) :
     Matrix.GeneralLinearGroup (Fin 2) R :=
   GeneralLinearGroup.mkOfDetNeZero !![a, -b; b, a] (by simpa [det_fin_two, sq] using hab)
 #align matrix.plane_conformal_matrix Matrix.planeConformalMatrix
+-/
 
 /- TODO: Add Iwasawa matrices `n_x=!![1,x; 0,1]`, `a_t=!![exp(t/2),0;0,exp(-t/2)]` and
   `k_θ=!![cos θ, sin θ; -sin θ, cos θ]`
Diff
@@ -244,11 +244,9 @@ def toGLPos : SpecialLinearGroup n R →* GLPos n R
 instance : Coe (SpecialLinearGroup n R) (GLPos n R) :=
   ⟨toGLPos⟩
 
-/- warning: matrix.special_linear_group.coe_eq_to_GL_pos clashes with [anonymous] -> [anonymous]
-Case conversion may be inaccurate. Consider using '#align matrix.special_linear_group.coe_eq_to_GL_pos [anonymous]ₓ'. -/
-theorem [anonymous] : (coe : SpecialLinearGroup n R → GLPos n R) = toGLPos :=
+theorem coe_eq_toGLPos : (coe : SpecialLinearGroup n R → GLPos n R) = toGLPos :=
   rfl
-#align matrix.special_linear_group.coe_eq_to_GL_pos [anonymous]
+#align matrix.special_linear_group.coe_eq_to_GL_pos Matrix.SpecialLinearGroup.coe_eq_toGLPos
 
 theorem toGLPos_injective : Function.Injective (toGLPos : SpecialLinearGroup n R → GLPos n R) :=
   (show Function.Injective ((coe : GLPos n R → Matrix n n R) ∘ toGLPos) from
Diff
@@ -37,7 +37,7 @@ namespace Matrix
 
 universe u v
 
-open Matrix
+open scoped Matrix
 
 open LinearMap
 
Diff
@@ -60,12 +60,6 @@ namespace GeneralLinearGroup
 
 variable {n : Type u} [DecidableEq n] [Fintype n] {R : Type v} [CommRing R]
 
-/- warning: matrix.general_linear_group.det -> Matrix.GeneralLinearGroup.det 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, u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Units.{u2} R (Ring.toMonoid.{u2} R (CommRing.toRing.{u2} R _inst_3))) (Units.mulOneClass.{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) => (fun (a : n) (b : n) => _inst_1 a b) a b) (CommRing.toRing.{u2} R _inst_3)))) (Units.mulOneClass.{u2} R (Ring.toMonoid.{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, u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Units.instMulOneClassUnits.{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) => (fun (a : n) (b : n) => _inst_1 a b) a b))))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))
-Case conversion may be inaccurate. Consider using '#align matrix.general_linear_group.det Matrix.GeneralLinearGroup.detₓ'. -/
 /-- The determinant of a unit matrix is itself a unit. -/
 @[simps]
 def det : GL n R →* Rˣ
@@ -79,42 +73,21 @@ def det : GL n R →* Rˣ
   map_mul' A B := Units.ext <| det_mul _ _
 #align matrix.general_linear_group.det Matrix.GeneralLinearGroup.det
 
-/- warning: matrix.general_linear_group.to_lin -> Matrix.GeneralLinearGroup.toLin is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align matrix.general_linear_group.to_lin Matrix.GeneralLinearGroup.toLinₓ'. -/
 /-- The `GL n R` and `general_linear_group R n` groups are multiplicatively equivalent-/
 def toLin : GL n R ≃* LinearMap.GeneralLinearGroup R (n → R) :=
   Units.mapEquiv toLinAlgEquiv'.toMulEquiv
 #align matrix.general_linear_group.to_lin Matrix.GeneralLinearGroup.toLin
 
-/- warning: matrix.general_linear_group.mk' -> Matrix.GeneralLinearGroup.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), (Invertible.{u2} R (Distrib.toHasMul.{u2} R (Ring.toDistrib.{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))))) (Matrix.det.{u2, u1} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3 A)) -> (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _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.{u1, u1, u2} n n R), (Invertible.{u2} R (NonUnitalNonAssocRing.toMul.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))) (Semiring.toOne.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.det.{u2, u1} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3 A)) -> (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)
-Case conversion may be inaccurate. Consider using '#align matrix.general_linear_group.mk' Matrix.GeneralLinearGroup.mk'ₓ'. -/
 /-- Given a matrix with invertible determinant we get an element of `GL n R`-/
 def mk' (A : Matrix n n R) (h : Invertible (Matrix.det A)) : GL n R :=
   unitOfDetInvertible A
 #align matrix.general_linear_group.mk' Matrix.GeneralLinearGroup.mk'
 
-/- warning: matrix.general_linear_group.mk'' -> Matrix.GeneralLinearGroup.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), (IsUnit.{u2} R (Ring.toMonoid.{u2} R (CommRing.toRing.{u2} R _inst_3)) (Matrix.det.{u2, u1} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3 A)) -> (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _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.{u1, u1, u2} n n R), (IsUnit.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (Matrix.det.{u2, u1} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3 A)) -> (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)
-Case conversion may be inaccurate. Consider using '#align matrix.general_linear_group.mk'' Matrix.GeneralLinearGroup.mk''ₓ'. -/
 /-- Given a matrix with unit determinant we get an element of `GL n R`-/
 noncomputable def mk'' (A : Matrix n n R) (h : IsUnit (Matrix.det A)) : GL n R :=
   nonsingInvUnit A h
 #align matrix.general_linear_group.mk'' Matrix.GeneralLinearGroup.mk''
 
-/- warning: matrix.general_linear_group.mk_of_det_ne_zero -> Matrix.GeneralLinearGroup.mkOfDetNeZero is a dubious translation:
-lean 3 declaration is
-  forall {n : Type.{u1}} [_inst_1 : DecidableEq.{succ u1} n] [_inst_2 : Fintype.{u1} n] {K : Type.{u2}} [_inst_4 : Field.{u2} K] (A : Matrix.{u1, u1, u2} n n K), (Ne.{succ u2} K (Matrix.det.{u2, u1} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 K (EuclideanDomain.toCommRing.{u2} K (Field.toEuclideanDomain.{u2} K _inst_4)) A) (OfNat.ofNat.{u2} K 0 (OfNat.mk.{u2} K 0 (Zero.zero.{u2} K (MulZeroClass.toHasZero.{u2} K (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} K (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} K (NonAssocRing.toNonUnitalNonAssocRing.{u2} K (Ring.toNonAssocRing.{u2} K (DivisionRing.toRing.{u2} K (Field.toDivisionRing.{u2} K _inst_4))))))))))) -> (Matrix.GeneralLinearGroup.{u1, u2} n K (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (EuclideanDomain.toCommRing.{u2} K (Field.toEuclideanDomain.{u2} K _inst_4)))
-but is expected to have type
-  forall {n : Type.{u1}} [_inst_1 : DecidableEq.{succ u1} n] [_inst_2 : Fintype.{u1} n] {K : Type.{u2}} [_inst_4 : Field.{u2} K] (A : Matrix.{u1, u1, u2} n n K), (Ne.{succ u2} K (Matrix.det.{u2, u1} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 K (EuclideanDomain.toCommRing.{u2} K (Field.toEuclideanDomain.{u2} K _inst_4)) A) (OfNat.ofNat.{u2} K 0 (Zero.toOfNat0.{u2} K (CommMonoidWithZero.toZero.{u2} K (CommGroupWithZero.toCommMonoidWithZero.{u2} K (Semifield.toCommGroupWithZero.{u2} K (Field.toSemifield.{u2} K _inst_4))))))) -> (Matrix.GeneralLinearGroup.{u1, u2} n K (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (EuclideanDomain.toCommRing.{u2} K (Field.toEuclideanDomain.{u2} K _inst_4)))
-Case conversion may be inaccurate. Consider using '#align matrix.general_linear_group.mk_of_det_ne_zero Matrix.GeneralLinearGroup.mkOfDetNeZeroₓ'. -/
 /-- Given a matrix with non-zero determinant over a field, we get an element of `GL n K`-/
 def mkOfDetNeZero {K : Type _} [Field K] (A : Matrix n n K) (h : Matrix.det A ≠ 0) : GL n K :=
   mk' A (invertibleOfNonzero h)
@@ -137,51 +110,27 @@ section CoeLemmas
 
 variable (A B : GL n R)
 
-/- warning: matrix.general_linear_group.coe_mul -> Matrix.GeneralLinearGroup.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.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (B : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _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.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Matrix.{u1, u1, u2} n n R) (HasLiftT.mk.{succ (max u1 u2), succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Matrix.{u1, u1, u2} n n R) (CoeTCₓ.coe.{succ (max u1 u2), succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Matrix.{u1, u1, u2} n n R) (coeBase.{succ (max u1 u2), succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Matrix.{u1, u1, u2} n n R) (Units.hasCoe.{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) => (fun (a : n) (b : n) => _inst_1 a b) a b) (CommRing.toRing.{u2} R _inst_3))))))) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (instHMul.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (MulOneClass.toHasMul.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Units.mulOneClass.{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) => (fun (a : n) (b : n) => _inst_1 a b) a b) (CommRing.toRing.{u2} 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.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Matrix.{u1, u1, u2} n n R) (HasLiftT.mk.{succ (max u1 u2), succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Matrix.{u1, u1, u2} n n R) (CoeTCₓ.coe.{succ (max u1 u2), succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Matrix.{u1, u1, u2} n n R) (coeBase.{succ (max u1 u2), succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Matrix.{u1, u1, u2} n n R) (Units.hasCoe.{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) => (fun (a : n) (b : n) => _inst_1 a b) a b) (CommRing.toRing.{u2} 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.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Matrix.{u1, u1, u2} n n R) (HasLiftT.mk.{succ (max u1 u2), succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Matrix.{u1, u1, u2} n n R) (CoeTCₓ.coe.{succ (max u1 u2), succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Matrix.{u1, u1, u2} n n R) (coeBase.{succ (max u1 u2), succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Matrix.{u1, u1, u2} n n R) (Units.hasCoe.{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) => (fun (a : n) (b : n) => _inst_1 a b) a b) (CommRing.toRing.{u2} 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.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (B : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3), Eq.{max (succ u1) (succ u2)} (Matrix.{u1, u1, u2} n n R) (Units.val.{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) => (fun (a : n) (b : n) => _inst_1 a b) a b)))) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (instHMul.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (MulOneClass.toMul.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Units.instMulOneClassUnits.{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) => (fun (a : n) (b : n) => _inst_1 a b) a b))))))) 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))))) (Units.val.{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) => (fun (a : n) (b : n) => _inst_1 a b) a b)))) A) (Units.val.{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) => (fun (a : n) (b : n) => _inst_1 a b) a b)))) B))
-Case conversion may be inaccurate. Consider using '#align matrix.general_linear_group.coe_mul Matrix.GeneralLinearGroup.coe_mulₓ'. -/
 @[simp]
 theorem coe_mul : ↑(A * B) = (↑A : Matrix n n R) ⬝ (↑B : Matrix n n R) :=
   rfl
 #align matrix.general_linear_group.coe_mul Matrix.GeneralLinearGroup.coe_mul
 
-/- warning: matrix.general_linear_group.coe_one -> Matrix.GeneralLinearGroup.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.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Matrix.{u1, u1, u2} n n R) (HasLiftT.mk.{succ (max u1 u2), succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Matrix.{u1, u1, u2} n n R) (CoeTCₓ.coe.{succ (max u1 u2), succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Matrix.{u1, u1, u2} n n R) (coeBase.{succ (max u1 u2), succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Matrix.{u1, u1, u2} n n R) (Units.hasCoe.{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) => (fun (a : n) (b : n) => _inst_1 a b) a b) (CommRing.toRing.{u2} R _inst_3))))))) (OfNat.ofNat.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) 1 (OfNat.mk.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) 1 (One.one.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (MulOneClass.toHasOne.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Units.mulOneClass.{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) => (fun (a : n) (b : n) => _inst_1 a b) a b) (CommRing.toRing.{u2} 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) (Units.val.{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) => (fun (a : n) (b : n) => _inst_1 a b) a b)))) (OfNat.ofNat.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) 1 (One.toOfNat1.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (InvOneClass.toOne.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (DivInvOneMonoid.toInvOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (DivisionMonoid.toDivInvOneMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Group.toDivisionMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Units.instGroupUnits.{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) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))))))))) (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.general_linear_group.coe_one Matrix.GeneralLinearGroup.coe_oneₓ'. -/
 @[simp]
 theorem coe_one : ↑(1 : GL n R) = (1 : Matrix n n R) :=
   rfl
 #align matrix.general_linear_group.coe_one Matrix.GeneralLinearGroup.coe_one
 
-/- warning: matrix.general_linear_group.coe_inv -> Matrix.GeneralLinearGroup.coe_inv 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.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _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.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Matrix.{u1, u1, u2} n n R) (HasLiftT.mk.{succ (max u1 u2), succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Matrix.{u1, u1, u2} n n R) (CoeTCₓ.coe.{succ (max u1 u2), succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Matrix.{u1, u1, u2} n n R) (coeBase.{succ (max u1 u2), succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Matrix.{u1, u1, u2} n n R) (Units.hasCoe.{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) => (fun (a : n) (b : n) => _inst_1 a b) a b) (CommRing.toRing.{u2} R _inst_3))))))) (Inv.inv.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Units.hasInv.{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) => (fun (a : n) (b : n) => _inst_1 a b) a b) (CommRing.toRing.{u2} R _inst_3)))) A)) (Inv.inv.{max u1 u2} (Matrix.{u1, u1, u2} n n R) (Matrix.hasInv.{u1, u2} n R _inst_2 (fun (a : n) (b : n) => _inst_1 a b) _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.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Matrix.{u1, u1, u2} n n R) (HasLiftT.mk.{succ (max u1 u2), succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Matrix.{u1, u1, u2} n n R) (CoeTCₓ.coe.{succ (max u1 u2), succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Matrix.{u1, u1, u2} n n R) (coeBase.{succ (max u1 u2), succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Matrix.{u1, u1, u2} n n R) (Units.hasCoe.{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) => (fun (a : n) (b : n) => _inst_1 a b) a b) (CommRing.toRing.{u2} R _inst_3))))))) 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.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3), Eq.{max (succ u1) (succ u2)} (Matrix.{u1, u1, u2} n n R) (Units.val.{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) => (fun (a : n) (b : n) => _inst_1 a b) a b)))) (Inv.inv.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Units.instInv.{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) => (fun (a : n) (b : n) => _inst_1 a b) a b))))) A)) (Inv.inv.{max u1 u2} (Matrix.{u1, u1, u2} n n R) (Matrix.inv.{u1, u2} n R _inst_2 (fun (a : n) (b : n) => _inst_1 a b) _inst_3) (Units.val.{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) => (fun (a : n) (b : n) => _inst_1 a b) a b)))) A))
-Case conversion may be inaccurate. Consider using '#align matrix.general_linear_group.coe_inv Matrix.GeneralLinearGroup.coe_invₓ'. -/
 theorem coe_inv : ↑A⁻¹ = (↑A : Matrix n n R)⁻¹ :=
   letI := A.invertible
   inv_of_eq_nonsing_inv (↑A : Matrix n n R)
 #align matrix.general_linear_group.coe_inv Matrix.GeneralLinearGroup.coe_inv
 
-/- warning: matrix.general_linear_group.to_linear -> Matrix.GeneralLinearGroup.toLinear is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align matrix.general_linear_group.to_linear Matrix.GeneralLinearGroup.toLinearₓ'. -/
 /-- An element of the matrix general linear group on `(n) [fintype n]` can be considered as an
 element of the endomorphism general linear group on `n → R`. -/
 def toLinear : GeneralLinearGroup n R ≃* LinearMap.GeneralLinearGroup R (n → R) :=
   Units.mapEquiv Matrix.toLinAlgEquiv'.toRingEquiv.toMulEquiv
 #align matrix.general_linear_group.to_linear Matrix.GeneralLinearGroup.toLinear
 
-/- warning: matrix.general_linear_group.coe_to_linear -> Matrix.GeneralLinearGroup.coe_toLinear is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align matrix.general_linear_group.coe_to_linear Matrix.GeneralLinearGroup.coe_toLinearₓ'. -/
 -- Note that without the `@` and `‹_›`, lean infers `λ a b, _inst a b` instead of `_inst` as the
 -- decidability argument, which prevents `simp` from obtaining the instance by unification.
 -- These `λ a b, _inst a b` terms also appear in the type of `A`, but simp doesn't get confused by
@@ -191,9 +140,6 @@ theorem coe_toLinear : (@toLinear n ‹_› ‹_› _ _ A : (n → R) →ₗ[R]
   rfl
 #align matrix.general_linear_group.coe_to_linear Matrix.GeneralLinearGroup.coe_toLinear
 
-/- warning: matrix.general_linear_group.to_linear_apply -> Matrix.GeneralLinearGroup.toLinear_apply is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align matrix.general_linear_group.to_linear_apply Matrix.GeneralLinearGroup.toLinear_applyₓ'. -/
 @[simp]
 theorem toLinear_apply (v : n → R) : (@toLinear n ‹_› ‹_› _ _ A) v = Matrix.mulVecLin (↑A) v :=
   rfl
@@ -213,9 +159,6 @@ instance hasCoeToGeneralLinearGroup : Coe (SpecialLinearGroup n R) (GL n R) :=
 #align matrix.special_linear_group.has_coe_to_general_linear_group Matrix.SpecialLinearGroup.hasCoeToGeneralLinearGroup
 -/
 
-/- warning: matrix.special_linear_group.coe_to_GL_det -> Matrix.SpecialLinearGroup.coeToGL_det is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align matrix.special_linear_group.coe_to_GL_det Matrix.SpecialLinearGroup.coeToGL_detₓ'. -/
 @[simp]
 theorem coeToGL_det (g : SpecialLinearGroup n R) : (g : GL n R).det = 1 :=
   Units.ext g.Prop
@@ -231,12 +174,6 @@ section
 
 variable (n R)
 
-/- warning: matrix.GL_pos -> Matrix.GLPos is a dubious translation:
-lean 3 declaration is
-  forall (n : Type.{u1}) (R : Type.{u2}) [_inst_1 : DecidableEq.{succ u1} n] [_inst_2 : Fintype.{u1} n] [_inst_3 : LinearOrderedCommRing.{u2} R], Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => _inst_1 a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))
-but is expected to have type
-  forall (n : Type.{u1}) (R : Type.{u2}) [_inst_1 : DecidableEq.{succ u1} n] [_inst_2 : Fintype.{u1} n] [_inst_3 : LinearOrderedCommRing.{u2} R], Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))
-Case conversion may be inaccurate. Consider using '#align matrix.GL_pos Matrix.GLPosₓ'. -/
 /-- This is the subgroup of `nxn` matrices with entries over a
 linear ordered ring and positive determinant. -/
 def GLPos : Subgroup (GL n R) :=
@@ -245,17 +182,11 @@ def GLPos : Subgroup (GL n R) :=
 
 end
 
-/- warning: matrix.mem_GL_pos -> Matrix.mem_glpos is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align matrix.mem_GL_pos Matrix.mem_glposₓ'. -/
 @[simp]
 theorem mem_glpos (A : GL n R) : A ∈ GLPos n R ↔ 0 < (A.det : R) :=
   Iff.rfl
 #align matrix.mem_GL_pos Matrix.mem_glpos
 
-/- warning: matrix.GL_pos.det_ne_zero -> Matrix.GLPos.det_ne_zero is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align matrix.GL_pos.det_ne_zero Matrix.GLPos.det_ne_zeroₓ'. -/
 theorem GLPos.det_ne_zero (A : GLPos n R) : (A : Matrix n n R).det ≠ 0 :=
   ne_of_gt A.Prop
 #align matrix.GL_pos.det_ne_zero Matrix.GLPos.det_ne_zero
@@ -277,25 +208,16 @@ instance : Neg (GLPos n R) :=
         (Fact.out <| Even <| Fintype.card n).neg_one_pow, one_mul]
       exact g.prop⟩⟩
 
-/- warning: matrix.GL_pos.coe_neg_GL -> Matrix.GLPos.coe_neg_GL is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align matrix.GL_pos.coe_neg_GL Matrix.GLPos.coe_neg_GLₓ'. -/
 @[simp]
 theorem GLPos.coe_neg_GL (g : GLPos n R) : ↑(-g) = -(g : GL n R) :=
   rfl
 #align matrix.GL_pos.coe_neg_GL Matrix.GLPos.coe_neg_GL
 
-/- warning: matrix.GL_pos.coe_neg -> Matrix.GLPos.coe_neg is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align matrix.GL_pos.coe_neg Matrix.GLPos.coe_negₓ'. -/
 @[simp]
 theorem GLPos.coe_neg (g : GLPos n R) : ↑(-g) = -(g : Matrix n n R) :=
   rfl
 #align matrix.GL_pos.coe_neg Matrix.GLPos.coe_neg
 
-/- warning: matrix.GL_pos.coe_neg_apply -> Matrix.GLPos.coe_neg_apply is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align matrix.GL_pos.coe_neg_apply Matrix.GLPos.coe_neg_applyₓ'. -/
 @[simp]
 theorem GLPos.coe_neg_apply (g : GLPos n R) (i j : n) :
     (↑(-g) : Matrix n n R) i j = -(↑g : Matrix n n R) i j :=
@@ -311,9 +233,6 @@ namespace SpecialLinearGroup
 
 variable {n : Type u} [DecidableEq n] [Fintype n] {R : Type v} [LinearOrderedCommRing R]
 
-/- warning: matrix.special_linear_group.to_GL_pos -> Matrix.SpecialLinearGroup.toGLPos is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align matrix.special_linear_group.to_GL_pos Matrix.SpecialLinearGroup.toGLPosₓ'. -/
 /-- `special_linear_group n R` embeds into `GL_pos n R` -/
 def toGLPos : SpecialLinearGroup n R →* GLPos n R
     where
@@ -326,24 +245,16 @@ instance : Coe (SpecialLinearGroup n R) (GLPos n R) :=
   ⟨toGLPos⟩
 
 /- warning: matrix.special_linear_group.coe_eq_to_GL_pos clashes with [anonymous] -> [anonymous]
-warning: matrix.special_linear_group.coe_eq_to_GL_pos -> [anonymous] is a dubious translation:
-<too large>
 Case conversion may be inaccurate. Consider using '#align matrix.special_linear_group.coe_eq_to_GL_pos [anonymous]ₓ'. -/
 theorem [anonymous] : (coe : SpecialLinearGroup n R → GLPos n R) = toGLPos :=
   rfl
 #align matrix.special_linear_group.coe_eq_to_GL_pos [anonymous]
 
-/- warning: matrix.special_linear_group.to_GL_pos_injective -> Matrix.SpecialLinearGroup.toGLPos_injective is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align matrix.special_linear_group.to_GL_pos_injective Matrix.SpecialLinearGroup.toGLPos_injectiveₓ'. -/
 theorem toGLPos_injective : Function.Injective (toGLPos : SpecialLinearGroup n R → GLPos n R) :=
   (show Function.Injective ((coe : GLPos n R → Matrix n n R) ∘ toGLPos) from
       Subtype.coe_injective).of_comp
 #align matrix.special_linear_group.to_GL_pos_injective Matrix.SpecialLinearGroup.toGLPos_injective
 
-/- warning: matrix.special_linear_group.coe_GL_pos_coe_GL_coe_matrix -> Matrix.SpecialLinearGroup.coe_GLPos_coe_GL_coe_matrix is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align matrix.special_linear_group.coe_GL_pos_coe_GL_coe_matrix Matrix.SpecialLinearGroup.coe_GLPos_coe_GL_coe_matrixₓ'. -/
 /-- Coercing a `special_linear_group` via `GL_pos` and `GL` is the same as coercing striaght to a
 matrix. -/
 @[simp]
@@ -352,9 +263,6 @@ theorem coe_GLPos_coe_GL_coe_matrix (g : SpecialLinearGroup n R) :
   rfl
 #align matrix.special_linear_group.coe_GL_pos_coe_GL_coe_matrix Matrix.SpecialLinearGroup.coe_GLPos_coe_GL_coe_matrix
 
-/- warning: matrix.special_linear_group.coe_to_GL_pos_to_GL_det -> Matrix.SpecialLinearGroup.coe_to_GLPos_to_GL_det is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align matrix.special_linear_group.coe_to_GL_pos_to_GL_det Matrix.SpecialLinearGroup.coe_to_GLPos_to_GL_detₓ'. -/
 @[simp]
 theorem coe_to_GLPos_to_GL_det (g : SpecialLinearGroup n R) : ((g : GLPos n R) : GL n R).det = 1 :=
   Units.ext g.Prop
@@ -362,9 +270,6 @@ theorem coe_to_GLPos_to_GL_det (g : SpecialLinearGroup n R) : ((g : GLPos n R) :
 
 variable [Fact (Even (Fintype.card n))]
 
-/- warning: matrix.special_linear_group.coe_GL_pos_neg -> Matrix.SpecialLinearGroup.coe_GLPos_neg is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align matrix.special_linear_group.coe_GL_pos_neg Matrix.SpecialLinearGroup.coe_GLPos_negₓ'. -/
 @[norm_cast]
 theorem coe_GLPos_neg (g : SpecialLinearGroup n R) : ↑(-g) = -(↑g : GLPos n R) :=
   Subtype.ext <| Units.ext rfl
@@ -374,12 +279,6 @@ end SpecialLinearGroup
 
 section Examples
 
-/- warning: matrix.plane_conformal_matrix -> Matrix.planeConformalMatrix is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : Field.{u1} R] (a : R) (b : R), (Ne.{succ u1} R (HAdd.hAdd.{u1, u1, u1} R R R (instHAdd.{u1} R (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R _inst_1))))) (HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R (Ring.toMonoid.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R _inst_1))))) a (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R (Ring.toMonoid.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R _inst_1))))) b (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R _inst_1))))))))))) -> (Matrix.GeneralLinearGroup.{0, u1} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) R (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))))) (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_1)))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : Field.{u1} R] (a : R) (b : R), (Ne.{succ u1} R (HAdd.hAdd.{u1, u1, u1} R R R (instHAdd.{u1} R (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R _inst_1)))))))) (HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (DivisionSemiring.toSemiring.{u1} R (Semifield.toDivisionSemiring.{u1} R (Field.toSemifield.{u1} R _inst_1))))))) a (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (DivisionSemiring.toSemiring.{u1} R (Semifield.toDivisionSemiring.{u1} R (Field.toSemifield.{u1} R _inst_1))))))) b (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2)))) (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (CommMonoidWithZero.toZero.{u1} R (CommGroupWithZero.toCommMonoidWithZero.{u1} R (Semifield.toCommGroupWithZero.{u1} R (Field.toSemifield.{u1} R _inst_1))))))) -> (Matrix.GeneralLinearGroup.{0, u1} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) R (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))) (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_1)))
-Case conversion may be inaccurate. Consider using '#align matrix.plane_conformal_matrix Matrix.planeConformalMatrixₓ'. -/
 /-- The matrix [a, -b; b, a] (inspired by multiplication by a complex number); it is an element of
 $GL_2(R)$ if `a ^ 2 + b ^ 2` is nonzero. -/
 @[simps (config := { fullyApplied := false }) coe]
Diff
@@ -80,10 +80,7 @@ def det : GL n R →* Rˣ
 #align matrix.general_linear_group.det Matrix.GeneralLinearGroup.det
 
 /- warning: matrix.general_linear_group.to_lin -> Matrix.GeneralLinearGroup.toLin 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], MulEquiv.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _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))))) (MulOneClass.toHasMul.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Units.mulOneClass.{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) => (fun (a : n) (b : n) => _inst_1 a b) a b) (CommRing.toRing.{u2} R _inst_3))))) (MulOneClass.toHasMul.{max u1 u2} (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))))) (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], MulEquiv.{max u2 u1, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _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.GeneralLinearGroup._hyg.626 : 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 u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Units.instMulOneClassUnits.{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) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (MulOneClass.toMul.{max u1 u2} (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.GeneralLinearGroup._hyg.626 : 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))))) (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.GeneralLinearGroup._hyg.626 : 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.GeneralLinearGroup._hyg.626 : 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.GeneralLinearGroup._hyg.626 : 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)))))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align matrix.general_linear_group.to_lin Matrix.GeneralLinearGroup.toLinₓ'. -/
 /-- The `GL n R` and `general_linear_group R n` groups are multiplicatively equivalent-/
 def toLin : GL n R ≃* LinearMap.GeneralLinearGroup R (n → R) :=
@@ -174,10 +171,7 @@ theorem coe_inv : ↑A⁻¹ = (↑A : Matrix n n R)⁻¹ :=
 #align matrix.general_linear_group.coe_inv Matrix.GeneralLinearGroup.coe_inv
 
 /- warning: matrix.general_linear_group.to_linear -> Matrix.GeneralLinearGroup.toLinear 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], MulEquiv.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _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))))) (MulOneClass.toHasMul.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Units.mulOneClass.{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) => (fun (a : n) (b : n) => _inst_1 a b) a b) (CommRing.toRing.{u2} R _inst_3))))) (MulOneClass.toHasMul.{max u1 u2} (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))))) (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], MulEquiv.{max u2 u1, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _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.GeneralLinearGroup._hyg.1089 : 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 u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Units.instMulOneClassUnits.{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) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (MulOneClass.toMul.{max u1 u2} (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.GeneralLinearGroup._hyg.1089 : 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))))) (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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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)))))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align matrix.general_linear_group.to_linear Matrix.GeneralLinearGroup.toLinearₓ'. -/
 /-- An element of the matrix general linear group on `(n) [fintype n]` can be considered as an
 element of the endomorphism general linear group on `n → R`. -/
@@ -186,10 +180,7 @@ def toLinear : GeneralLinearGroup n R ≃* LinearMap.GeneralLinearGroup R (n →
 #align matrix.general_linear_group.to_linear Matrix.GeneralLinearGroup.toLinear
 
 /- warning: matrix.general_linear_group.coe_to_linear -> Matrix.GeneralLinearGroup.coe_toLinear 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.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3), Eq.{succ (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))))) ((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) (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))))) (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))))) (HasLiftT.mk.{succ (max u1 u2), succ (max u1 u2)} (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))))) (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))))) (CoeTCₓ.coe.{succ (max u1 u2), succ (max u1 u2)} (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))))) (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))))) (coeBase.{succ (max u1 u2), succ (max u1 u2)} (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))))) (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))))) (Units.hasCoe.{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))))))))) (coeFn.{succ (max u1 u2), succ (max u1 u2)} (MulEquiv.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _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))))) (MulOneClass.toHasMul.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Units.mulOneClass.{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) => (fun (a : n) (b : n) => _inst_1 a b) a b) (CommRing.toRing.{u2} R _inst_3))))) (MulOneClass.toHasMul.{max u1 u2} (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))))) (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)))))))) (fun (_x : MulEquiv.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _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))))) (MulOneClass.toHasMul.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Units.mulOneClass.{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) => (fun (a : n) (b : n) => _inst_1 a b) a b) (CommRing.toRing.{u2} R _inst_3))))) (MulOneClass.toHasMul.{max u1 u2} (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))))) (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)))))))) => (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _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)))))) (MulEquiv.hasCoeToFun.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _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))))) (MulOneClass.toHasMul.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Units.mulOneClass.{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) => (fun (a : n) (b : n) => _inst_1 a b) a b) (CommRing.toRing.{u2} R _inst_3))))) (MulOneClass.toHasMul.{max u1 u2} (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))))) (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)))))))) (Matrix.GeneralLinearGroup.toLinear.{u1, u2} n _inst_1 _inst_2 R _inst_3) A)) (Matrix.mulVecLin.{u2, u1, u1} R (CommRing.toCommSemiring.{u2} R _inst_3) n n _inst_2 ((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.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Matrix.{u1, u1, u2} n n R) (HasLiftT.mk.{succ (max u1 u2), succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Matrix.{u1, u1, u2} n n R) (CoeTCₓ.coe.{succ (max u1 u2), succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Matrix.{u1, u1, u2} n n R) (coeBase.{succ (max u1 u2), succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Matrix.{u1, u1, u2} n n R) (Units.hasCoe.{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) => (fun (a : n) (b : n) => _inst_1 a b) a b) (CommRing.toRing.{u2} R _inst_3))))))) 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.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3), Eq.{max (succ u1) (succ 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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))))) (Units.val.{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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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 (a._@.Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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))))) (FunLike.coe.{succ (max u1 u2), succ (max u1 u2), succ (max u1 u2)} (MulEquiv.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _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 (a._@.Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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 u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Units.instMulOneClassUnits.{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) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (MulOneClass.toMul.{max u1 u2} (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 (a._@.Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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))))) (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 (a._@.Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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 (a._@.Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (fun (_x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _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 (a._@.Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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) (EmbeddingLike.toFunLike.{succ (max u1 u2), succ (max u1 u2), succ (max u1 u2)} (MulEquiv.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _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 (a._@.Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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 u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Units.instMulOneClassUnits.{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) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (MulOneClass.toMul.{max u1 u2} (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 (a._@.Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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))))) (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 (a._@.Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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 (a._@.Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _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 (a._@.Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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))))) (EquivLike.toEmbeddingLike.{succ (max u1 u2), succ (max u1 u2), succ (max u1 u2)} (MulEquiv.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _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 (a._@.Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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 u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Units.instMulOneClassUnits.{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) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (MulOneClass.toMul.{max u1 u2} (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 (a._@.Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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))))) (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 (a._@.Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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 (a._@.Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _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.GeneralLinearGroup._hyg.1089 : 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))))) (MulEquivClass.toEquivLike.{max u1 u2, max u1 u2, max u1 u2} (MulEquiv.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _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 (a._@.Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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 u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Units.instMulOneClassUnits.{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) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (MulOneClass.toMul.{max u1 u2} (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 (a._@.Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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))))) (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 (a._@.Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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 (a._@.Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _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 (a._@.Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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 u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Units.instMulOneClassUnits.{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) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (MulOneClass.toMul.{max u1 u2} (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 (a._@.Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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))))) (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 (a._@.Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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 (a._@.Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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))))))) (MulEquiv.instMulEquivClassMulEquiv.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _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 (a._@.Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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 u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Units.instMulOneClassUnits.{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) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (MulOneClass.toMul.{max u1 u2} (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 (a._@.Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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))))) (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 (a._@.Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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 (a._@.Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup.toLinear.{u1, u2} n _inst_1 _inst_2 R _inst_3) A)) (Matrix.mulVecLin.{u2, u1, u1} R (CommRing.toCommSemiring.{u2} R _inst_3) n n _inst_2 (Units.val.{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) => (fun (a : n) (b : n) => _inst_1 a b) a b)))) A))
+<too large>
 Case conversion may be inaccurate. Consider using '#align matrix.general_linear_group.coe_to_linear Matrix.GeneralLinearGroup.coe_toLinearₓ'. -/
 -- Note that without the `@` and `‹_›`, lean infers `λ a b, _inst a b` instead of `_inst` as the
 -- decidability argument, which prevents `simp` from obtaining the instance by unification.
@@ -201,10 +192,7 @@ theorem coe_toLinear : (@toLinear n ‹_› ‹_› _ _ A : (n → R) →ₗ[R]
 #align matrix.general_linear_group.coe_to_linear Matrix.GeneralLinearGroup.coe_toLinear
 
 /- warning: matrix.general_linear_group.to_linear_apply -> Matrix.GeneralLinearGroup.toLinear_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.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (v : n -> R), Eq.{max (succ u1) (succ u2)} (n -> R) (coeFn.{succ (max u1 u2), succ (max u1 u2)} (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))))) (fun (_x : 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))))) => (n -> R) -> n -> R) (LinearMap.GeneralLinearGroup.hasCoeToFun.{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))))) (coeFn.{succ (max u1 u2), succ (max u1 u2)} (MulEquiv.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _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))))) (MulOneClass.toHasMul.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Units.mulOneClass.{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) => (fun (a : n) (b : n) => _inst_1 a b) a b) (CommRing.toRing.{u2} R _inst_3))))) (MulOneClass.toHasMul.{max u1 u2} (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))))) (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)))))))) (fun (_x : MulEquiv.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _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))))) (MulOneClass.toHasMul.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Units.mulOneClass.{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) => (fun (a : n) (b : n) => _inst_1 a b) a b) (CommRing.toRing.{u2} R _inst_3))))) (MulOneClass.toHasMul.{max u1 u2} (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))))) (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)))))))) => (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _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)))))) (MulEquiv.hasCoeToFun.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _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))))) (MulOneClass.toHasMul.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Units.mulOneClass.{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) => (fun (a : n) (b : n) => _inst_1 a b) a b) (CommRing.toRing.{u2} R _inst_3))))) (MulOneClass.toHasMul.{max u1 u2} (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))))) (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)))))))) (Matrix.GeneralLinearGroup.toLinear.{u1, u2} n _inst_1 _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))))) (Matrix.mulVecLin.{u2, u1, u1} R (CommRing.toCommSemiring.{u2} R _inst_3) n n _inst_2 ((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.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Matrix.{u1, u1, u2} n n R) (HasLiftT.mk.{succ (max u1 u2), succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Matrix.{u1, u1, u2} n n R) (CoeTCₓ.coe.{succ (max u1 u2), succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Matrix.{u1, u1, u2} n n R) (coeBase.{succ (max u1 u2), succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Matrix.{u1, u1, u2} n n R) (Units.hasCoe.{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) => (fun (a : n) (b : n) => _inst_1 a b) a b) (CommRing.toRing.{u2} 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.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _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)} (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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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))))) (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} (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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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))))) 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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} (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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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))))) 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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) (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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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))))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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) (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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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))))) (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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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)))))))) (LinearMap.GeneralLinearGroup.toLinearEquiv.{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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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)))) (FunLike.coe.{succ (max u2 u1), succ (max u2 u1), succ (max u2 u1)} (MulEquiv.{max u2 u1, max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _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 (a._@.Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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 u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Units.instMulOneClassUnits.{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) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (MulOneClass.toMul.{max u1 u2} (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 (a._@.Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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))))) (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 (a._@.Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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 (a._@.Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (fun (a : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _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 (a._@.Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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) (EmbeddingLike.toFunLike.{succ (max u2 u1), succ (max u2 u1), succ (max u2 u1)} (MulEquiv.{max u2 u1, max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _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 (a._@.Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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 u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Units.instMulOneClassUnits.{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) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (MulOneClass.toMul.{max u1 u2} (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 (a._@.Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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))))) (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 (a._@.Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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 (a._@.Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _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 (a._@.Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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))))) (EquivLike.toEmbeddingLike.{succ (max u2 u1), succ (max u2 u1), succ (max u2 u1)} (MulEquiv.{max u2 u1, max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _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 (a._@.Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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 u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Units.instMulOneClassUnits.{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) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (MulOneClass.toMul.{max u1 u2} (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 (a._@.Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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))))) (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 (a._@.Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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 (a._@.Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _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 (a._@.Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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))))) (MulEquivClass.toEquivLike.{max u2 u1, max u2 u1, max u2 u1} (MulEquiv.{max u2 u1, max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _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 (a._@.Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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 u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Units.instMulOneClassUnits.{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) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (MulOneClass.toMul.{max u1 u2} (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 (a._@.Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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))))) (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 (a._@.Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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 (a._@.Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _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 (a._@.Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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 u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Units.instMulOneClassUnits.{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) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (MulOneClass.toMul.{max u1 u2} (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 (a._@.Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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))))) (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 (a._@.Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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 (a._@.Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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))))))) (MulEquiv.instMulEquivClassMulEquiv.{max u2 u1, max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _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 (a._@.Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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 u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Units.instMulOneClassUnits.{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) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (MulOneClass.toMul.{max u1 u2} (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 (a._@.Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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))))) (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 (a._@.Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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 (a._@.Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup.toLinear.{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)} (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.1177 : 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.1180 : 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.1177 : 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.1180 : 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))))) (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.1177 : 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.1180 : 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.mulVecLin.{u2, u1, u1} R (CommRing.toCommSemiring.{u2} R _inst_3) n n _inst_2 (Units.val.{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) => (fun (a : n) (b : n) => _inst_1 a b) a b)))) A)) v)
+<too large>
 Case conversion may be inaccurate. Consider using '#align matrix.general_linear_group.to_linear_apply Matrix.GeneralLinearGroup.toLinear_applyₓ'. -/
 @[simp]
 theorem toLinear_apply (v : n → R) : (@toLinear n ‹_› ‹_› _ _ A) v = Matrix.mulVecLin (↑A) v :=
@@ -226,10 +214,7 @@ instance hasCoeToGeneralLinearGroup : Coe (SpecialLinearGroup n R) (GL n R) :=
 -/
 
 /- warning: matrix.special_linear_group.coe_to_GL_det -> Matrix.SpecialLinearGroup.coeToGL_det 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] (g : Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3), Eq.{succ u2} (Units.{u2} R (Ring.toMonoid.{u2} R (CommRing.toRing.{u2} R _inst_3))) (coeFn.{max (succ u2) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u2)} (MonoidHom.{max u1 u2, u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Units.{u2} R (Ring.toMonoid.{u2} R (CommRing.toRing.{u2} R _inst_3))) (Units.mulOneClass.{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) => (fun (a : n) (b : n) => _inst_1 a b) a b) (CommRing.toRing.{u2} R _inst_3)))) (Units.mulOneClass.{u2} R (Ring.toMonoid.{u2} R (CommRing.toRing.{u2} R _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Units.{u2} R (Ring.toMonoid.{u2} R (CommRing.toRing.{u2} R _inst_3))) (Units.mulOneClass.{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) => (fun (a : n) (b : n) => _inst_1 a b) a b) (CommRing.toRing.{u2} R _inst_3)))) (Units.mulOneClass.{u2} R (Ring.toMonoid.{u2} R (CommRing.toRing.{u2} R _inst_3)))) => (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) -> (Units.{u2} R (Ring.toMonoid.{u2} R (CommRing.toRing.{u2} R _inst_3)))) (MonoidHom.hasCoeToFun.{max u1 u2, u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Units.{u2} R (Ring.toMonoid.{u2} R (CommRing.toRing.{u2} R _inst_3))) (Units.mulOneClass.{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) => (fun (a : n) (b : n) => _inst_1 a b) a b) (CommRing.toRing.{u2} R _inst_3)))) (Units.mulOneClass.{u2} R (Ring.toMonoid.{u2} R (CommRing.toRing.{u2} R _inst_3)))) (Matrix.GeneralLinearGroup.det.{u1, u2} 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.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (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.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (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.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (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.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Matrix.SpecialLinearGroup.hasCoeToGeneralLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3)))) g)) (OfNat.ofNat.{u2} (Units.{u2} R (Ring.toMonoid.{u2} R (CommRing.toRing.{u2} R _inst_3))) 1 (OfNat.mk.{u2} (Units.{u2} R (Ring.toMonoid.{u2} R (CommRing.toRing.{u2} R _inst_3))) 1 (One.one.{u2} (Units.{u2} R (Ring.toMonoid.{u2} R (CommRing.toRing.{u2} R _inst_3))) (MulOneClass.toHasOne.{u2} (Units.{u2} R (Ring.toMonoid.{u2} R (CommRing.toRing.{u2} R _inst_3))) (Units.mulOneClass.{u2} R (Ring.toMonoid.{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] (g : Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.SpecialLinearGroup.coeToGL.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R _inst_3 g)) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), succ u2} (MonoidHom.{max u2 u1, u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Units.instMulOneClassUnits.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3) (fun (_x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) _x) (MulHomClass.toFunLike.{max u2 u1, max u2 u1, u2} (MonoidHom.{max u2 u1, u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Units.instMulOneClassUnits.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (MulOneClass.toMul.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3) (Units.instMulOneClassUnits.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (MulOneClass.toMul.{u2} (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, max u2 u1, u2} (MonoidHom.{max u2 u1, u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Units.instMulOneClassUnits.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Units.instMulOneClassUnits.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (MonoidHom.monoidHomClass.{max u2 u1, u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Units.instMulOneClassUnits.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))))) (Matrix.GeneralLinearGroup.det.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R _inst_3) (Matrix.SpecialLinearGroup.coeToGL.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R _inst_3 g)) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.SpecialLinearGroup.coeToGL.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R _inst_3 g)) 1 (One.toOfNat1.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.SpecialLinearGroup.coeToGL.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R _inst_3 g)) (InvOneClass.toOne.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.SpecialLinearGroup.coeToGL.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R _inst_3 g)) (DivInvOneMonoid.toInvOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.SpecialLinearGroup.coeToGL.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R _inst_3 g)) (DivisionMonoid.toDivInvOneMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.SpecialLinearGroup.coeToGL.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R _inst_3 g)) (DivisionCommMonoid.toDivisionMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.SpecialLinearGroup.coeToGL.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R _inst_3 g)) (CommGroup.toDivisionCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.SpecialLinearGroup.coeToGL.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R _inst_3 g)) (Units.instCommGroupUnitsToMonoid.{u2} R (CommRing.toCommMonoid.{u2} R _inst_3)))))))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align matrix.special_linear_group.coe_to_GL_det Matrix.SpecialLinearGroup.coeToGL_detₓ'. -/
 @[simp]
 theorem coeToGL_det (g : SpecialLinearGroup n R) : (g : GL n R).det = 1 :=
@@ -261,10 +246,7 @@ def GLPos : Subgroup (GL n R) :=
 end
 
 /- warning: matrix.mem_GL_pos -> Matrix.mem_glpos is a dubious translation:
-lean 3 declaration is
-  forall {n : Type.{u1}} {R : Type.{u2}} [_inst_1 : DecidableEq.{succ u1} n] [_inst_2 : Fintype.{u1} n] [_inst_3 : LinearOrderedCommRing.{u2} R] (A : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))), Iff (Membership.Mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => _inst_1 a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (SetLike.hasMem.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => _inst_1 a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => _inst_1 a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) A (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (LT.lt.{u2} R (Preorder.toHasLt.{u2} R (PartialOrder.toPreorder.{u2} R (OrderedAddCommGroup.toPartialOrder.{u2} R (StrictOrderedRing.toOrderedAddCommGroup.{u2} R (LinearOrderedRing.toStrictOrderedRing.{u2} R (LinearOrderedCommRing.toLinearOrderedRing.{u2} R _inst_3)))))) (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 (StrictOrderedRing.toRing.{u2} R (LinearOrderedRing.toStrictOrderedRing.{u2} R (LinearOrderedCommRing.toLinearOrderedRing.{u2} R _inst_3))))))))))) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Units.{u2} R (Ring.toMonoid.{u2} R (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))) R (HasLiftT.mk.{succ u2, succ u2} (Units.{u2} R (Ring.toMonoid.{u2} R (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))) R (CoeTCₓ.coe.{succ u2, succ u2} (Units.{u2} R (Ring.toMonoid.{u2} R (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))) R (coeBase.{succ u2, succ u2} (Units.{u2} R (Ring.toMonoid.{u2} R (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))) R (Units.hasCoe.{u2} R (Ring.toMonoid.{u2} R (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (coeFn.{max (succ u2) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u2)} (MonoidHom.{max u1 u2, u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.{u2} R (Ring.toMonoid.{u2} R (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))) (Units.mulOneClass.{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) => (fun (a : n) (b : n) => _inst_1 a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))) (Units.mulOneClass.{u2} R (Ring.toMonoid.{u2} R (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))) (fun (_x : MonoidHom.{max u1 u2, u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.{u2} R (Ring.toMonoid.{u2} R (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))) (Units.mulOneClass.{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) => (fun (a : n) (b : n) => _inst_1 a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))) (Units.mulOneClass.{u2} R (Ring.toMonoid.{u2} R (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))) => (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) -> (Units.{u2} R (Ring.toMonoid.{u2} R (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))) (MonoidHom.hasCoeToFun.{max u1 u2, u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.{u2} R (Ring.toMonoid.{u2} R (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))) (Units.mulOneClass.{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) => (fun (a : n) (b : n) => _inst_1 a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))) (Units.mulOneClass.{u2} R (Ring.toMonoid.{u2} R (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))) (Matrix.GeneralLinearGroup.det.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) A)))
-but is expected to have type
-  forall {n : Type.{u1}} {R : Type.{u2}} [_inst_1 : DecidableEq.{succ u1} n] [_inst_2 : Fintype.{u1} n] [_inst_3 : LinearOrderedCommRing.{u2} R] (A : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))), Iff (Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b))))))) A (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (LT.lt.{u2} R (Preorder.toLT.{u2} R (PartialOrder.toPreorder.{u2} R (StrictOrderedRing.toPartialOrder.{u2} R (LinearOrderedRing.toStrictOrderedRing.{u2} R (LinearOrderedCommRing.toLinearOrderedRing.{u2} R _inst_3))))) (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} R (IsDomain.toCancelCommMonoidWithZero.{u2} R (StrictOrderedCommSemiring.toCommSemiring.{u2} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} R (LinearOrderedCommRing.toLinearOrderedCommSemiring.{u2} R _inst_3))) (LinearOrderedRing.isDomain.{u2} R (LinearOrderedCommRing.toLinearOrderedRing.{u2} R _inst_3))))))) (Units.val.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), succ u2} (MonoidHom.{max u2 u1, u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Units.instMulOneClassUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b))))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (_x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) _x) (MulHomClass.toFunLike.{max u2 u1, max u2 u1, u2} (MonoidHom.{max u2 u1, u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Units.instMulOneClassUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b))))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (MulOneClass.toMul.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instMulOneClassUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (MulOneClass.toMul.{u2} (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, max u2 u1, u2} (MonoidHom.{max u2 u1, u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Units.instMulOneClassUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b))))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Units.instMulOneClassUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b))))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (MonoidHom.monoidHomClass.{max u2 u1, u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Units.instMulOneClassUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b))))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))))) (Matrix.GeneralLinearGroup.det.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) A)))
+<too large>
 Case conversion may be inaccurate. Consider using '#align matrix.mem_GL_pos Matrix.mem_glposₓ'. -/
 @[simp]
 theorem mem_glpos (A : GL n R) : A ∈ GLPos n R ↔ 0 < (A.det : R) :=
@@ -272,10 +254,7 @@ theorem mem_glpos (A : GL n R) : A ∈ GLPos n R ↔ 0 < (A.det : R) :=
 #align matrix.mem_GL_pos Matrix.mem_glpos
 
 /- warning: matrix.GL_pos.det_ne_zero -> Matrix.GLPos.det_ne_zero is a dubious translation:
-lean 3 declaration is
-  forall {n : Type.{u1}} {R : Type.{u2}} [_inst_1 : DecidableEq.{succ u1} n] [_inst_2 : Fintype.{u1} n] [_inst_3 : LinearOrderedCommRing.{u2} R] (A : coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)), Ne.{succ u2} R (Matrix.det.{u2, u1} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{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) (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Matrix.{u1, u1, u2} n n R) (HasLiftT.mk.{succ (max u1 u2), succ (max u1 u2)} (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Matrix.{u1, u1, u2} n n R) (CoeTCₓ.coe.{succ (max u1 u2), succ (max u1 u2)} (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Matrix.{u1, u1, u2} n n R) (coeTrans.{succ (max u1 u2), succ (max u1 u2), succ (max u1 u2)} (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.{u1, u1, u2} n n R) (coeBase.{succ (max u1 u2), succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.{u1, u1, u2} n n R) (Units.hasCoe.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (coeSubtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.Mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (SetLike.hasMem.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)))))) A)) (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 (StrictOrderedRing.toRing.{u2} R (LinearOrderedRing.toStrictOrderedRing.{u2} R (LinearOrderedCommRing.toLinearOrderedRing.{u2} R _inst_3)))))))))))
-but is expected to have type
-  forall {n : Type.{u1}} {R : Type.{u2}} [_inst_1 : DecidableEq.{succ u1} n] [_inst_2 : Fintype.{u1} n] [_inst_3 : LinearOrderedCommRing.{u2} R] (A : Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3))), Ne.{succ u2} R (Matrix.det.{u2, u1} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)) (Units.val.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))) (Subtype.val.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Set.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Set.instMembershipSet.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) x (SetLike.coe.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3))) A))) (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} R (IsDomain.toCancelCommMonoidWithZero.{u2} R (StrictOrderedCommSemiring.toCommSemiring.{u2} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} R (LinearOrderedCommRing.toLinearOrderedCommSemiring.{u2} R _inst_3))) (LinearOrderedRing.isDomain.{u2} R (LinearOrderedCommRing.toLinearOrderedRing.{u2} R _inst_3)))))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align matrix.GL_pos.det_ne_zero Matrix.GLPos.det_ne_zeroₓ'. -/
 theorem GLPos.det_ne_zero (A : GLPos n R) : (A : Matrix n n R).det ≠ 0 :=
   ne_of_gt A.Prop
@@ -299,10 +278,7 @@ instance : Neg (GLPos n R) :=
       exact g.prop⟩⟩
 
 /- warning: matrix.GL_pos.coe_neg_GL -> Matrix.GLPos.coe_neg_GL is a dubious translation:
-lean 3 declaration is
-  forall {n : Type.{u1}} {R : Type.{u2}} [_inst_1 : DecidableEq.{succ u1} n] [_inst_2 : Fintype.{u1} n] [_inst_3 : LinearOrderedCommRing.{u2} R] [_inst_4 : Fact (Even.{0} Nat Nat.hasAdd (Fintype.card.{u1} n _inst_2))] (g : coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)), Eq.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{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) (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (HasLiftT.mk.{succ (max u1 u2), succ (max u1 u2)} (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (CoeTCₓ.coe.{succ (max u1 u2), succ (max u1 u2)} (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (coeBase.{succ (max u1 u2), succ (max u1 u2)} (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (coeSubtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.Mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (SetLike.hasMem.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)))))) (Neg.neg.{max u1 u2} (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Matrix.GLPos.hasNeg.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3 _inst_4) g)) (Neg.neg.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.hasNeg.{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) => (fun (a : n) (b : n) => _inst_1 a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))) (NonUnitalNonAssocRing.toHasDistribNeg.{max u1 u2} (Matrix.{u1, u1, u2} n n R) (Matrix.nonUnitalNonAssocRing.{u2, u1} n R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (StrictOrderedRing.toRing.{u2} R (LinearOrderedRing.toStrictOrderedRing.{u2} R (LinearOrderedCommRing.toLinearOrderedRing.{u2} R _inst_3))))) _inst_2))) ((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) (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (HasLiftT.mk.{succ (max u1 u2), succ (max u1 u2)} (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (CoeTCₓ.coe.{succ (max u1 u2), succ (max u1 u2)} (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (coeBase.{succ (max u1 u2), succ (max u1 u2)} (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (coeSubtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.Mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (SetLike.hasMem.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)))))) g))
-but is expected to have type
-  forall {n : Type.{u1}} {R : Type.{u2}} [_inst_1 : DecidableEq.{succ u1} n] [_inst_2 : Fintype.{u1} n] [_inst_3 : LinearOrderedCommRing.{u2} R] [_inst_4 : Fact (Even.{0} Nat instAddNat (Fintype.card.{u1} n _inst_2))] (g : Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3))), Eq.{max (succ u1) (succ u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.val.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Set.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Set.instMembershipSet.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) x (SetLike.coe.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3))) (Neg.neg.{max u1 u2} (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3))) (Matrix.instNegSubtypeGeneralLinearGroupToCommRingToStrictOrderedCommRingMemSubgroupInstGroupUnitsMatrixToMonoidToMonoidWithZeroSemiringToSemiringToCommSemiringInstMembershipInstSetLikeSubgroupGLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3 _inst_4) g)) (Neg.neg.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instNegUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))) (NonUnitalNonAssocRing.toHasDistribNeg.{max u1 u2} (Matrix.{u1, u1, u2} n n R) (Matrix.nonUnitalNonAssocRing.{u2, u1} n R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (StrictOrderedRing.toRing.{u2} R (LinearOrderedRing.toStrictOrderedRing.{u2} R (LinearOrderedCommRing.toLinearOrderedRing.{u2} R _inst_3))))) _inst_2))) (Subtype.val.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Set.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Set.instMembershipSet.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) x (SetLike.coe.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3))) g))
+<too large>
 Case conversion may be inaccurate. Consider using '#align matrix.GL_pos.coe_neg_GL Matrix.GLPos.coe_neg_GLₓ'. -/
 @[simp]
 theorem GLPos.coe_neg_GL (g : GLPos n R) : ↑(-g) = -(g : GL n R) :=
@@ -310,10 +286,7 @@ theorem GLPos.coe_neg_GL (g : GLPos n R) : ↑(-g) = -(g : GL n R) :=
 #align matrix.GL_pos.coe_neg_GL Matrix.GLPos.coe_neg_GL
 
 /- warning: matrix.GL_pos.coe_neg -> Matrix.GLPos.coe_neg is a dubious translation:
-lean 3 declaration is
-  forall {n : Type.{u1}} {R : Type.{u2}} [_inst_1 : DecidableEq.{succ u1} n] [_inst_2 : Fintype.{u1} n] [_inst_3 : LinearOrderedCommRing.{u2} R] [_inst_4 : Fact (Even.{0} Nat Nat.hasAdd (Fintype.card.{u1} n _inst_2))] (g : coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _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) (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Matrix.{u1, u1, u2} n n R) (HasLiftT.mk.{succ (max u1 u2), succ (max u1 u2)} (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Matrix.{u1, u1, u2} n n R) (CoeTCₓ.coe.{succ (max u1 u2), succ (max u1 u2)} (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Matrix.{u1, u1, u2} n n R) (coeTrans.{succ (max u1 u2), succ (max u1 u2), succ (max u1 u2)} (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.{u1, u1, u2} n n R) (coeBase.{succ (max u1 u2), succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.{u1, u1, u2} n n R) (Units.hasCoe.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (coeSubtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.Mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (SetLike.hasMem.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)))))) (Neg.neg.{max u1 u2} (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Matrix.GLPos.hasNeg.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3 _inst_4) g)) (Neg.neg.{max u1 u2} (Matrix.{u1, u1, u2} n n R) (Matrix.hasNeg.{u2, u1, u1} n n R (SubNegMonoid.toHasNeg.{u2} R (AddGroup.toSubNegMonoid.{u2} R (AddGroupWithOne.toAddGroup.{u2} R (AddCommGroupWithOne.toAddGroupWithOne.{u2} R (Ring.toAddCommGroupWithOne.{u2} R (StrictOrderedRing.toRing.{u2} R (LinearOrderedRing.toStrictOrderedRing.{u2} R (LinearOrderedCommRing.toLinearOrderedRing.{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) (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Matrix.{u1, u1, u2} n n R) (HasLiftT.mk.{succ (max u1 u2), succ (max u1 u2)} (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Matrix.{u1, u1, u2} n n R) (CoeTCₓ.coe.{succ (max u1 u2), succ (max u1 u2)} (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Matrix.{u1, u1, u2} n n R) (coeTrans.{succ (max u1 u2), succ (max u1 u2), succ (max u1 u2)} (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.{u1, u1, u2} n n R) (coeBase.{succ (max u1 u2), succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.{u1, u1, u2} n n R) (Units.hasCoe.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (coeSubtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.Mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (SetLike.hasMem.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)))))) g))
-but is expected to have type
-  forall {n : Type.{u1}} {R : Type.{u2}} [_inst_1 : DecidableEq.{succ u1} n] [_inst_2 : Fintype.{u1} n] [_inst_3 : LinearOrderedCommRing.{u2} R] [_inst_4 : Fact (Even.{0} Nat instAddNat (Fintype.card.{u1} n _inst_2))] (g : Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3))), Eq.{max (succ u1) (succ u2)} (Matrix.{u1, u1, u2} n n R) (Units.val.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))) (Subtype.val.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Set.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Set.instMembershipSet.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) x (SetLike.coe.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3))) (Neg.neg.{max u1 u2} (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3))) (Matrix.instNegSubtypeGeneralLinearGroupToCommRingToStrictOrderedCommRingMemSubgroupInstGroupUnitsMatrixToMonoidToMonoidWithZeroSemiringToSemiringToCommSemiringInstMembershipInstSetLikeSubgroupGLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3 _inst_4) g))) (Neg.neg.{max u1 u2} (Matrix.{u1, u1, u2} n n R) (Matrix.neg.{u2, u1, u1} n n R (Ring.toNeg.{u2} R (StrictOrderedRing.toRing.{u2} R (LinearOrderedRing.toStrictOrderedRing.{u2} R (LinearOrderedCommRing.toLinearOrderedRing.{u2} R _inst_3))))) (Units.val.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))) (Subtype.val.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Set.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Set.instMembershipSet.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) x (SetLike.coe.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3))) g)))
+<too large>
 Case conversion may be inaccurate. Consider using '#align matrix.GL_pos.coe_neg Matrix.GLPos.coe_negₓ'. -/
 @[simp]
 theorem GLPos.coe_neg (g : GLPos n R) : ↑(-g) = -(g : Matrix n n R) :=
@@ -321,10 +294,7 @@ theorem GLPos.coe_neg (g : GLPos n R) : ↑(-g) = -(g : Matrix n n R) :=
 #align matrix.GL_pos.coe_neg Matrix.GLPos.coe_neg
 
 /- warning: matrix.GL_pos.coe_neg_apply -> Matrix.GLPos.coe_neg_apply is a dubious translation:
-lean 3 declaration is
-  forall {n : Type.{u1}} {R : Type.{u2}} [_inst_1 : DecidableEq.{succ u1} n] [_inst_2 : Fintype.{u1} n] [_inst_3 : LinearOrderedCommRing.{u2} R] [_inst_4 : Fact (Even.{0} Nat Nat.hasAdd (Fintype.card.{u1} n _inst_2))] (g : coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (i : n) (j : n), Eq.{succ u2} 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) (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Matrix.{u1, u1, u2} n n R) (HasLiftT.mk.{succ (max u1 u2), succ (max u1 u2)} (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Matrix.{u1, u1, u2} n n R) (CoeTCₓ.coe.{succ (max u1 u2), succ (max u1 u2)} (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Matrix.{u1, u1, u2} n n R) (coeTrans.{succ (max u1 u2), succ (max u1 u2), succ (max u1 u2)} (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.{u1, u1, u2} n n R) (coeBase.{succ (max u1 u2), succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.{u1, u1, u2} n n R) (Units.hasCoe.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (coeSubtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.Mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (SetLike.hasMem.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)))))) (Neg.neg.{max u1 u2} (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Matrix.GLPos.hasNeg.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3 _inst_4) g) i j) (Neg.neg.{u2} R (SubNegMonoid.toHasNeg.{u2} R (AddGroup.toSubNegMonoid.{u2} R (AddGroupWithOne.toAddGroup.{u2} R (AddCommGroupWithOne.toAddGroupWithOne.{u2} R (Ring.toAddCommGroupWithOne.{u2} R (StrictOrderedRing.toRing.{u2} R (LinearOrderedRing.toStrictOrderedRing.{u2} R (LinearOrderedCommRing.toLinearOrderedRing.{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) (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Matrix.{u1, u1, u2} n n R) (HasLiftT.mk.{succ (max u1 u2), succ (max u1 u2)} (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Matrix.{u1, u1, u2} n n R) (CoeTCₓ.coe.{succ (max u1 u2), succ (max u1 u2)} (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Matrix.{u1, u1, u2} n n R) (coeTrans.{succ (max u1 u2), succ (max u1 u2), succ (max u1 u2)} (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.{u1, u1, u2} n n R) (coeBase.{succ (max u1 u2), succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.{u1, u1, u2} n n R) (Units.hasCoe.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (coeSubtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.Mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (SetLike.hasMem.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)))))) g i j))
-but is expected to have type
-  forall {n : Type.{u1}} {R : Type.{u2}} [_inst_1 : DecidableEq.{succ u1} n] [_inst_2 : Fintype.{u1} n] [_inst_3 : LinearOrderedCommRing.{u2} R] [_inst_4 : Fact (Even.{0} Nat instAddNat (Fintype.card.{u1} n _inst_2))] (g : Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3))) (i : n) (j : n), Eq.{succ u2} R (Units.val.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))) (Subtype.val.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Set.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Set.instMembershipSet.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) x (SetLike.coe.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3))) (Neg.neg.{max u1 u2} (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3))) (Matrix.instNegSubtypeGeneralLinearGroupToCommRingToStrictOrderedCommRingMemSubgroupInstGroupUnitsMatrixToMonoidToMonoidWithZeroSemiringToSemiringToCommSemiringInstMembershipInstSetLikeSubgroupGLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3 _inst_4) g)) i j) (Neg.neg.{u2} R (Ring.toNeg.{u2} R (StrictOrderedRing.toRing.{u2} R (LinearOrderedRing.toStrictOrderedRing.{u2} R (LinearOrderedCommRing.toLinearOrderedRing.{u2} R _inst_3)))) (Units.val.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))) (Subtype.val.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Set.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Set.instMembershipSet.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) x (SetLike.coe.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3))) g) i j))
+<too large>
 Case conversion may be inaccurate. Consider using '#align matrix.GL_pos.coe_neg_apply Matrix.GLPos.coe_neg_applyₓ'. -/
 @[simp]
 theorem GLPos.coe_neg_apply (g : GLPos n R) (i j : n) :
@@ -342,10 +312,7 @@ namespace SpecialLinearGroup
 variable {n : Type u} [DecidableEq n] [Fintype n] {R : Type v} [LinearOrderedCommRing R]
 
 /- warning: matrix.special_linear_group.to_GL_pos -> Matrix.SpecialLinearGroup.toGLPos 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 : LinearOrderedCommRing.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Monoid.toMulOneClass.{max u1 u2} (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (DivInvMonoid.toMonoid.{max u1 u2} (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Group.toDivInvMonoid.{max u1 u2} (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Subgroup.toGroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _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 : LinearOrderedCommRing.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)))
+<too large>
 Case conversion may be inaccurate. Consider using '#align matrix.special_linear_group.to_GL_pos Matrix.SpecialLinearGroup.toGLPosₓ'. -/
 /-- `special_linear_group n R` embeds into `GL_pos n R` -/
 def toGLPos : SpecialLinearGroup n R →* GLPos n R
@@ -360,20 +327,14 @@ instance : Coe (SpecialLinearGroup n R) (GLPos n R) :=
 
 /- warning: matrix.special_linear_group.coe_eq_to_GL_pos clashes with [anonymous] -> [anonymous]
 warning: matrix.special_linear_group.coe_eq_to_GL_pos -> [anonymous] 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 : LinearOrderedCommRing.{u2} R], Eq.{succ (max u1 u2)} ((Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) -> (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Matrix.SpecialLinearGroup.Matrix.GLPos.hasCoe.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Monoid.toMulOneClass.{max u1 u2} (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (DivInvMonoid.toMonoid.{max u1 u2} (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Group.toDivInvMonoid.{max u1 u2} (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Subgroup.toGroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Monoid.toMulOneClass.{max u1 u2} (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (DivInvMonoid.toMonoid.{max u1 u2} (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Group.toDivInvMonoid.{max u1 u2} (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Subgroup.toGroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)))))) => (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) -> (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Monoid.toMulOneClass.{max u1 u2} (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (DivInvMonoid.toMonoid.{max u1 u2} (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Group.toDivInvMonoid.{max u1 u2} (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Subgroup.toGroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)))))) (Matrix.SpecialLinearGroup.toGLPos.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3))
-but is expected to have type
-  forall {n : Type.{u1}} {_inst_1 : Type.{u2}}, (Nat -> n -> _inst_1) -> Nat -> (List.{u1} n) -> (List.{u2} _inst_1)
+<too large>
 Case conversion may be inaccurate. Consider using '#align matrix.special_linear_group.coe_eq_to_GL_pos [anonymous]ₓ'. -/
 theorem [anonymous] : (coe : SpecialLinearGroup n R → GLPos n R) = toGLPos :=
   rfl
 #align matrix.special_linear_group.coe_eq_to_GL_pos [anonymous]
 
 /- warning: matrix.special_linear_group.to_GL_pos_injective -> Matrix.SpecialLinearGroup.toGLPos_injective 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 : LinearOrderedCommRing.{u2} R], Function.Injective.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Monoid.toMulOneClass.{max u1 u2} (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (DivInvMonoid.toMonoid.{max u1 u2} (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Group.toDivInvMonoid.{max u1 u2} (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Subgroup.toGroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Monoid.toMulOneClass.{max u1 u2} (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (DivInvMonoid.toMonoid.{max u1 u2} (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Group.toDivInvMonoid.{max u1 u2} (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Subgroup.toGroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)))))) => (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) -> (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Monoid.toMulOneClass.{max u1 u2} (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (DivInvMonoid.toMonoid.{max u1 u2} (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Group.toDivInvMonoid.{max u1 u2} (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Subgroup.toGroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)))))) (Matrix.SpecialLinearGroup.toGLPos.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 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 : LinearOrderedCommRing.{u2} R], Function.Injective.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)))) (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (_x : Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} 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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)))) (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3))) (MulOneClass.toMul.{max u2 u1} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))) (MulOneClass.toMul.{max u2 u1} (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)))) (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)))))) (Matrix.SpecialLinearGroup.toGLPos.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3))
+<too large>
 Case conversion may be inaccurate. Consider using '#align matrix.special_linear_group.to_GL_pos_injective Matrix.SpecialLinearGroup.toGLPos_injectiveₓ'. -/
 theorem toGLPos_injective : Function.Injective (toGLPos : SpecialLinearGroup n R → GLPos n R) :=
   (show Function.Injective ((coe : GLPos n R → Matrix n n R) ∘ toGLPos) from
@@ -381,10 +342,7 @@ theorem toGLPos_injective : Function.Injective (toGLPos : SpecialLinearGroup n R
 #align matrix.special_linear_group.to_GL_pos_injective Matrix.SpecialLinearGroup.toGLPos_injective
 
 /- warning: matrix.special_linear_group.coe_GL_pos_coe_GL_coe_matrix -> Matrix.SpecialLinearGroup.coe_GLPos_coe_GL_coe_matrix 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 : LinearOrderedCommRing.{u2} R] (g : Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{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) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.{u1, u1, u2} n n R) (HasLiftT.mk.{succ (max u1 u2), succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.{u1, u1, u2} n n R) (CoeTCₓ.coe.{succ (max u1 u2), succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.{u1, u1, u2} n n R) (coeBase.{succ (max u1 u2), succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.{u1, u1, u2} n n R) (Units.hasCoe.{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) => (fun (a : n) (b : n) => _inst_1 a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{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) (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (HasLiftT.mk.{succ (max u1 u2), succ (max u1 u2)} (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (CoeTCₓ.coe.{succ (max u1 u2), succ (max u1 u2)} (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (coeBase.{succ (max u1 u2), succ (max u1 u2)} (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (coeSubtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.Mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (SetLike.hasMem.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Matrix.SpecialLinearGroup.Matrix.GLPos.hasCoe.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3)))) g))) ((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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} 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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} 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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} 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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} 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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))) g)
-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 : LinearOrderedCommRing.{u2} R] (g : Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))), Eq.{max (succ u1) (succ u2)} (Matrix.{u1, u1, u2} n n R) (Units.val.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))) (Subtype.val.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Set.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Set.instMembershipSet.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) x (SetLike.coe.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _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) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3)))) (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (a : Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) a) (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) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3)))) (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (MulOneClass.toMul.{max u2 u1} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))) (MulOneClass.toMul.{max u2 u1} (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _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) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3)))) (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (MonoidHom.monoidHomClass.{max u2 u1, max u2 u1} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3)))))) (Matrix.SpecialLinearGroup.toGLPos.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R _inst_3) g))) (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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) g)
+<too large>
 Case conversion may be inaccurate. Consider using '#align matrix.special_linear_group.coe_GL_pos_coe_GL_coe_matrix Matrix.SpecialLinearGroup.coe_GLPos_coe_GL_coe_matrixₓ'. -/
 /-- Coercing a `special_linear_group` via `GL_pos` and `GL` is the same as coercing striaght to a
 matrix. -/
@@ -395,10 +353,7 @@ theorem coe_GLPos_coe_GL_coe_matrix (g : SpecialLinearGroup n R) :
 #align matrix.special_linear_group.coe_GL_pos_coe_GL_coe_matrix Matrix.SpecialLinearGroup.coe_GLPos_coe_GL_coe_matrix
 
 /- warning: matrix.special_linear_group.coe_to_GL_pos_to_GL_det -> Matrix.SpecialLinearGroup.coe_to_GLPos_to_GL_det 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 : LinearOrderedCommRing.{u2} R] (g : Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))), Eq.{succ u2} (Units.{u2} R (Ring.toMonoid.{u2} R (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))) (coeFn.{max (succ u2) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u2)} (MonoidHom.{max u1 u2, u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.{u2} R (Ring.toMonoid.{u2} R (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))) (Units.mulOneClass.{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) => (fun (a : n) (b : n) => _inst_1 a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))) (Units.mulOneClass.{u2} R (Ring.toMonoid.{u2} R (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))) (fun (_x : MonoidHom.{max u1 u2, u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.{u2} R (Ring.toMonoid.{u2} R (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))) (Units.mulOneClass.{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) => (fun (a : n) (b : n) => _inst_1 a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))) (Units.mulOneClass.{u2} R (Ring.toMonoid.{u2} R (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))) => (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) -> (Units.{u2} R (Ring.toMonoid.{u2} R (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))) (MonoidHom.hasCoeToFun.{max u1 u2, u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.{u2} R (Ring.toMonoid.{u2} R (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))) (Units.mulOneClass.{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) => (fun (a : n) (b : n) => _inst_1 a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))) (Units.mulOneClass.{u2} R (Ring.toMonoid.{u2} R (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))) (Matrix.GeneralLinearGroup.det.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{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) (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (HasLiftT.mk.{succ (max u1 u2), succ (max u1 u2)} (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (CoeTCₓ.coe.{succ (max u1 u2), succ (max u1 u2)} (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (coeBase.{succ (max u1 u2), succ (max u1 u2)} (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (coeSubtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.Mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (SetLike.hasMem.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Matrix.SpecialLinearGroup.Matrix.GLPos.hasCoe.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3)))) g))) (OfNat.ofNat.{u2} (Units.{u2} R (Ring.toMonoid.{u2} R (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))) 1 (OfNat.mk.{u2} (Units.{u2} R (Ring.toMonoid.{u2} R (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))) 1 (One.one.{u2} (Units.{u2} R (Ring.toMonoid.{u2} R (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))) (MulOneClass.toHasOne.{u2} (Units.{u2} R (Ring.toMonoid.{u2} R (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))) (Units.mulOneClass.{u2} R (Ring.toMonoid.{u2} R (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{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 : LinearOrderedCommRing.{u2} R] (g : Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Subtype.val.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Set.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Set.instMembershipSet.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) x (SetLike.coe.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _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) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3)))) (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (a : Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) a) (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) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3)))) (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (MulOneClass.toMul.{max u2 u1} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))) (MulOneClass.toMul.{max u2 u1} (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _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) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3)))) (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (MonoidHom.monoidHomClass.{max u2 u1, max u2 u1} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3)))))) (Matrix.SpecialLinearGroup.toGLPos.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R _inst_3) g))) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), succ u2} (MonoidHom.{max u2 u1, u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Units.instMulOneClassUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (_x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) _x) (MulHomClass.toFunLike.{max u2 u1, max u2 u1, u2} (MonoidHom.{max u2 u1, u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Units.instMulOneClassUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (MulOneClass.toMul.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instMulOneClassUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (MulOneClass.toMul.{u2} (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, max u2 u1, u2} (MonoidHom.{max u2 u1, u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Units.instMulOneClassUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Units.instMulOneClassUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (MonoidHom.monoidHomClass.{max u2 u1, u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Units.instMulOneClassUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))))) (Matrix.GeneralLinearGroup.det.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.val.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Set.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Set.instMembershipSet.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) x (SetLike.coe.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _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) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3)))) (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (a : Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) a) (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) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3)))) (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (MulOneClass.toMul.{max u2 u1} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))) (MulOneClass.toMul.{max u2 u1} (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _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) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3)))) (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (MonoidHom.monoidHomClass.{max u2 u1, max u2 u1} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3)))))) (Matrix.SpecialLinearGroup.toGLPos.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R _inst_3) g))) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Subtype.val.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Set.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Set.instMembershipSet.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) x (SetLike.coe.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _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) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3)))) (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (a : Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) a) (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) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3)))) (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (MulOneClass.toMul.{max u2 u1} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))) (MulOneClass.toMul.{max u2 u1} (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _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) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3)))) (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (MonoidHom.monoidHomClass.{max u2 u1, max u2 u1} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3)))))) (Matrix.SpecialLinearGroup.toGLPos.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R _inst_3) g))) 1 (One.toOfNat1.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Subtype.val.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Set.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Set.instMembershipSet.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) x (SetLike.coe.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _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) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3)))) (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (a : Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) a) (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) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3)))) (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (MulOneClass.toMul.{max u2 u1} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))) (MulOneClass.toMul.{max u2 u1} (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _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) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3)))) (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (MonoidHom.monoidHomClass.{max u2 u1, max u2 u1} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3)))))) (Matrix.SpecialLinearGroup.toGLPos.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R _inst_3) g))) (InvOneClass.toOne.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Subtype.val.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Set.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Set.instMembershipSet.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) x (SetLike.coe.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _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) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3)))) (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (a : Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) a) (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) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3)))) (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (MulOneClass.toMul.{max u2 u1} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))) (MulOneClass.toMul.{max u2 u1} (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _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) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3)))) (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (MonoidHom.monoidHomClass.{max u2 u1, max u2 u1} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3)))))) (Matrix.SpecialLinearGroup.toGLPos.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R _inst_3) g))) (DivInvOneMonoid.toInvOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Subtype.val.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Set.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Set.instMembershipSet.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) x (SetLike.coe.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _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) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3)))) (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (a : Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) a) (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) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3)))) (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (MulOneClass.toMul.{max u2 u1} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))) (MulOneClass.toMul.{max u2 u1} (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _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) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3)))) (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (MonoidHom.monoidHomClass.{max u2 u1, max u2 u1} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3)))))) (Matrix.SpecialLinearGroup.toGLPos.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R _inst_3) g))) (DivisionMonoid.toDivInvOneMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Subtype.val.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Set.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Set.instMembershipSet.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) x (SetLike.coe.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _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) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3)))) (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (a : Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) a) (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) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3)))) (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (MulOneClass.toMul.{max u2 u1} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))) (MulOneClass.toMul.{max u2 u1} (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _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) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3)))) (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (MonoidHom.monoidHomClass.{max u2 u1, max u2 u1} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3)))))) (Matrix.SpecialLinearGroup.toGLPos.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R _inst_3) g))) (DivisionCommMonoid.toDivisionMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Subtype.val.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Set.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Set.instMembershipSet.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) x (SetLike.coe.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _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) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3)))) (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (a : Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) a) (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) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3)))) (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (MulOneClass.toMul.{max u2 u1} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))) (MulOneClass.toMul.{max u2 u1} (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _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) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3)))) (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (MonoidHom.monoidHomClass.{max u2 u1, max u2 u1} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3)))))) (Matrix.SpecialLinearGroup.toGLPos.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R _inst_3) g))) (CommGroup.toDivisionCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Subtype.val.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Set.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Set.instMembershipSet.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) x (SetLike.coe.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _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) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3)))) (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (a : Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) a) (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) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3)))) (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (MulOneClass.toMul.{max u2 u1} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))) (MulOneClass.toMul.{max u2 u1} (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _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) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3)))) (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (MonoidHom.monoidHomClass.{max u2 u1, max u2 u1} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3)))))) (Matrix.SpecialLinearGroup.toGLPos.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R _inst_3) g))) (Units.instCommGroupUnitsToMonoid.{u2} R (LinearOrderedCommRing.toCommMonoid.{u2} R _inst_3)))))))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align matrix.special_linear_group.coe_to_GL_pos_to_GL_det Matrix.SpecialLinearGroup.coe_to_GLPos_to_GL_detₓ'. -/
 @[simp]
 theorem coe_to_GLPos_to_GL_det (g : SpecialLinearGroup n R) : ((g : GLPos n R) : GL n R).det = 1 :=
@@ -408,10 +363,7 @@ theorem coe_to_GLPos_to_GL_det (g : SpecialLinearGroup n R) : ((g : GLPos n R) :
 variable [Fact (Even (Fintype.card n))]
 
 /- warning: matrix.special_linear_group.coe_GL_pos_neg -> Matrix.SpecialLinearGroup.coe_GLPos_neg 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 : LinearOrderedCommRing.{u2} R] [_inst_4 : Fact (Even.{0} Nat Nat.hasAdd (Fintype.card.{u1} n _inst_2))] (g : Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))), Eq.{succ (max u1 u2)} (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Matrix.SpecialLinearGroup.Matrix.GLPos.hasCoe.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3)))) (Neg.neg.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.hasNeg.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)) _inst_4) g)) (Neg.neg.{max u1 u2} (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Matrix.GLPos.hasNeg.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3 _inst_4) ((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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Matrix.SpecialLinearGroup.Matrix.GLPos.hasCoe.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3)))) g))
-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 : LinearOrderedCommRing.{u2} R] [_inst_4 : Fact (Even.{0} Nat instAddNat (Fintype.card.{u1} n _inst_2))] (g : Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))), Eq.{max (succ u1) (succ u2)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) g) (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) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3)))) (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (a : Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) a) (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) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3)))) (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (MulOneClass.toMul.{max u2 u1} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))) (MulOneClass.toMul.{max u2 u1} (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _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) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3)))) (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (MonoidHom.monoidHomClass.{max u2 u1, max u2 u1} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3)))))) (Matrix.SpecialLinearGroup.toGLPos.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R _inst_3) (Neg.neg.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.instNegSpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)) _inst_4) g)) (Neg.neg.{max u1 u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) g) (Matrix.instNegSubtypeGeneralLinearGroupToCommRingToStrictOrderedCommRingMemSubgroupInstGroupUnitsMatrixToMonoidToMonoidWithZeroSemiringToSemiringToCommSemiringInstMembershipInstSetLikeSubgroupGLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3 _inst_4) (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) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3)))) (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (a : Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) a) (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) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3)))) (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (MulOneClass.toMul.{max u2 u1} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))) (MulOneClass.toMul.{max u2 u1} (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _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) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3)))) (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (MonoidHom.monoidHomClass.{max u2 u1, max u2 u1} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3)))))) (Matrix.SpecialLinearGroup.toGLPos.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R _inst_3) g))
+<too large>
 Case conversion may be inaccurate. Consider using '#align matrix.special_linear_group.coe_GL_pos_neg Matrix.SpecialLinearGroup.coe_GLPos_negₓ'. -/
 @[norm_cast]
 theorem coe_GLPos_neg (g : SpecialLinearGroup n R) : ↑(-g) = -(↑g : GLPos n R) :=
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Chris Birkbeck
 
 ! This file was ported from Lean 3 source module linear_algebra.matrix.general_linear_group
-! leanprover-community/mathlib commit 2705404e701abc6b3127da906f40bae062a169c9
+! leanprover-community/mathlib commit a87d22575d946e1e156fc1edd1e1269600a8a282
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -15,6 +15,9 @@ import Mathbin.LinearAlgebra.Matrix.SpecialLinearGroup
 /-!
 # The General Linear group $GL(n, R)$
 
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
 This file defines the elements of the General Linear group `general_linear_group n R`,
 consisting of all invertible `n` by `n` `R`-matrices.
 
Diff
@@ -41,12 +41,14 @@ open LinearMap
 -- disable this instance so we do not accidentally use it in lemmas.
 attribute [-instance] special_linear_group.has_coe_to_fun
 
+#print Matrix.GeneralLinearGroup /-
 /-- `GL n R` is the group of `n` by `n` `R`-matrices with unit determinant.
 Defined as a subtype of matrices-/
 abbrev GeneralLinearGroup (n : Type u) (R : Type v) [DecidableEq n] [Fintype n] [CommRing R] :
     Type _ :=
   (Matrix n n R)ˣ
 #align matrix.general_linear_group Matrix.GeneralLinearGroup
+-/
 
 -- mathport name: exprGL
 notation "GL" => GeneralLinearGroup
@@ -55,6 +57,12 @@ namespace GeneralLinearGroup
 
 variable {n : Type u} [DecidableEq n] [Fintype n] {R : Type v} [CommRing R]
 
+/- warning: matrix.general_linear_group.det -> Matrix.GeneralLinearGroup.det 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, u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Units.{u2} R (Ring.toMonoid.{u2} R (CommRing.toRing.{u2} R _inst_3))) (Units.mulOneClass.{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) => (fun (a : n) (b : n) => _inst_1 a b) a b) (CommRing.toRing.{u2} R _inst_3)))) (Units.mulOneClass.{u2} R (Ring.toMonoid.{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, u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Units.instMulOneClassUnits.{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) => (fun (a : n) (b : n) => _inst_1 a b) a b))))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))
+Case conversion may be inaccurate. Consider using '#align matrix.general_linear_group.det Matrix.GeneralLinearGroup.detₓ'. -/
 /-- The determinant of a unit matrix is itself a unit. -/
 @[simps]
 def det : GL n R →* Rˣ
@@ -68,60 +76,118 @@ def det : GL n R →* Rˣ
   map_mul' A B := Units.ext <| det_mul _ _
 #align matrix.general_linear_group.det Matrix.GeneralLinearGroup.det
 
+/- warning: matrix.general_linear_group.to_lin -> Matrix.GeneralLinearGroup.toLin 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], MulEquiv.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _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))))) (MulOneClass.toHasMul.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Units.mulOneClass.{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) => (fun (a : n) (b : n) => _inst_1 a b) a b) (CommRing.toRing.{u2} R _inst_3))))) (MulOneClass.toHasMul.{max u1 u2} (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))))) (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], MulEquiv.{max u2 u1, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _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.GeneralLinearGroup._hyg.626 : 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 u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Units.instMulOneClassUnits.{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) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (MulOneClass.toMul.{max u1 u2} (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.GeneralLinearGroup._hyg.626 : 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))))) (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.GeneralLinearGroup._hyg.626 : 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.GeneralLinearGroup._hyg.626 : 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.GeneralLinearGroup._hyg.626 : 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.general_linear_group.to_lin Matrix.GeneralLinearGroup.toLinₓ'. -/
 /-- The `GL n R` and `general_linear_group R n` groups are multiplicatively equivalent-/
 def toLin : GL n R ≃* LinearMap.GeneralLinearGroup R (n → R) :=
   Units.mapEquiv toLinAlgEquiv'.toMulEquiv
 #align matrix.general_linear_group.to_lin Matrix.GeneralLinearGroup.toLin
 
+/- warning: matrix.general_linear_group.mk' -> Matrix.GeneralLinearGroup.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), (Invertible.{u2} R (Distrib.toHasMul.{u2} R (Ring.toDistrib.{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))))) (Matrix.det.{u2, u1} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3 A)) -> (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _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.{u1, u1, u2} n n R), (Invertible.{u2} R (NonUnitalNonAssocRing.toMul.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))) (Semiring.toOne.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.det.{u2, u1} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3 A)) -> (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)
+Case conversion may be inaccurate. Consider using '#align matrix.general_linear_group.mk' Matrix.GeneralLinearGroup.mk'ₓ'. -/
 /-- Given a matrix with invertible determinant we get an element of `GL n R`-/
 def mk' (A : Matrix n n R) (h : Invertible (Matrix.det A)) : GL n R :=
   unitOfDetInvertible A
 #align matrix.general_linear_group.mk' Matrix.GeneralLinearGroup.mk'
 
+/- warning: matrix.general_linear_group.mk'' -> Matrix.GeneralLinearGroup.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), (IsUnit.{u2} R (Ring.toMonoid.{u2} R (CommRing.toRing.{u2} R _inst_3)) (Matrix.det.{u2, u1} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3 A)) -> (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _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.{u1, u1, u2} n n R), (IsUnit.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (Matrix.det.{u2, u1} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3 A)) -> (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)
+Case conversion may be inaccurate. Consider using '#align matrix.general_linear_group.mk'' Matrix.GeneralLinearGroup.mk''ₓ'. -/
 /-- Given a matrix with unit determinant we get an element of `GL n R`-/
 noncomputable def mk'' (A : Matrix n n R) (h : IsUnit (Matrix.det A)) : GL n R :=
   nonsingInvUnit A h
 #align matrix.general_linear_group.mk'' Matrix.GeneralLinearGroup.mk''
 
+/- warning: matrix.general_linear_group.mk_of_det_ne_zero -> Matrix.GeneralLinearGroup.mkOfDetNeZero is a dubious translation:
+lean 3 declaration is
+  forall {n : Type.{u1}} [_inst_1 : DecidableEq.{succ u1} n] [_inst_2 : Fintype.{u1} n] {K : Type.{u2}} [_inst_4 : Field.{u2} K] (A : Matrix.{u1, u1, u2} n n K), (Ne.{succ u2} K (Matrix.det.{u2, u1} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 K (EuclideanDomain.toCommRing.{u2} K (Field.toEuclideanDomain.{u2} K _inst_4)) A) (OfNat.ofNat.{u2} K 0 (OfNat.mk.{u2} K 0 (Zero.zero.{u2} K (MulZeroClass.toHasZero.{u2} K (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} K (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} K (NonAssocRing.toNonUnitalNonAssocRing.{u2} K (Ring.toNonAssocRing.{u2} K (DivisionRing.toRing.{u2} K (Field.toDivisionRing.{u2} K _inst_4))))))))))) -> (Matrix.GeneralLinearGroup.{u1, u2} n K (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (EuclideanDomain.toCommRing.{u2} K (Field.toEuclideanDomain.{u2} K _inst_4)))
+but is expected to have type
+  forall {n : Type.{u1}} [_inst_1 : DecidableEq.{succ u1} n] [_inst_2 : Fintype.{u1} n] {K : Type.{u2}} [_inst_4 : Field.{u2} K] (A : Matrix.{u1, u1, u2} n n K), (Ne.{succ u2} K (Matrix.det.{u2, u1} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 K (EuclideanDomain.toCommRing.{u2} K (Field.toEuclideanDomain.{u2} K _inst_4)) A) (OfNat.ofNat.{u2} K 0 (Zero.toOfNat0.{u2} K (CommMonoidWithZero.toZero.{u2} K (CommGroupWithZero.toCommMonoidWithZero.{u2} K (Semifield.toCommGroupWithZero.{u2} K (Field.toSemifield.{u2} K _inst_4))))))) -> (Matrix.GeneralLinearGroup.{u1, u2} n K (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (EuclideanDomain.toCommRing.{u2} K (Field.toEuclideanDomain.{u2} K _inst_4)))
+Case conversion may be inaccurate. Consider using '#align matrix.general_linear_group.mk_of_det_ne_zero Matrix.GeneralLinearGroup.mkOfDetNeZeroₓ'. -/
 /-- Given a matrix with non-zero determinant over a field, we get an element of `GL n K`-/
 def mkOfDetNeZero {K : Type _} [Field K] (A : Matrix n n K) (h : Matrix.det A ≠ 0) : GL n K :=
   mk' A (invertibleOfNonzero h)
 #align matrix.general_linear_group.mk_of_det_ne_zero Matrix.GeneralLinearGroup.mkOfDetNeZero
 
+#print Matrix.GeneralLinearGroup.ext_iff /-
 theorem ext_iff (A B : GL n R) : A = B ↔ ∀ i j, (A : Matrix n n R) i j = (B : Matrix n n R) i j :=
   Units.ext_iff.trans Matrix.ext_iff.symm
 #align matrix.general_linear_group.ext_iff Matrix.GeneralLinearGroup.ext_iff
+-/
 
+#print Matrix.GeneralLinearGroup.ext /-
 /-- Not marked `@[ext]` as the `ext` tactic already solves this. -/
 theorem ext ⦃A B : GL n R⦄ (h : ∀ i j, (A : Matrix n n R) i j = (B : Matrix n n R) i j) : A = B :=
   Units.ext <| Matrix.ext h
 #align matrix.general_linear_group.ext Matrix.GeneralLinearGroup.ext
+-/
 
 section CoeLemmas
 
 variable (A B : GL n R)
 
+/- warning: matrix.general_linear_group.coe_mul -> Matrix.GeneralLinearGroup.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.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (B : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _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.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Matrix.{u1, u1, u2} n n R) (HasLiftT.mk.{succ (max u1 u2), succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Matrix.{u1, u1, u2} n n R) (CoeTCₓ.coe.{succ (max u1 u2), succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Matrix.{u1, u1, u2} n n R) (coeBase.{succ (max u1 u2), succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Matrix.{u1, u1, u2} n n R) (Units.hasCoe.{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) => (fun (a : n) (b : n) => _inst_1 a b) a b) (CommRing.toRing.{u2} R _inst_3))))))) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (instHMul.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (MulOneClass.toHasMul.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Units.mulOneClass.{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) => (fun (a : n) (b : n) => _inst_1 a b) a b) (CommRing.toRing.{u2} 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.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Matrix.{u1, u1, u2} n n R) (HasLiftT.mk.{succ (max u1 u2), succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Matrix.{u1, u1, u2} n n R) (CoeTCₓ.coe.{succ (max u1 u2), succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Matrix.{u1, u1, u2} n n R) (coeBase.{succ (max u1 u2), succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Matrix.{u1, u1, u2} n n R) (Units.hasCoe.{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) => (fun (a : n) (b : n) => _inst_1 a b) a b) (CommRing.toRing.{u2} 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.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Matrix.{u1, u1, u2} n n R) (HasLiftT.mk.{succ (max u1 u2), succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Matrix.{u1, u1, u2} n n R) (CoeTCₓ.coe.{succ (max u1 u2), succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Matrix.{u1, u1, u2} n n R) (coeBase.{succ (max u1 u2), succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Matrix.{u1, u1, u2} n n R) (Units.hasCoe.{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) => (fun (a : n) (b : n) => _inst_1 a b) a b) (CommRing.toRing.{u2} 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.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (B : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3), Eq.{max (succ u1) (succ u2)} (Matrix.{u1, u1, u2} n n R) (Units.val.{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) => (fun (a : n) (b : n) => _inst_1 a b) a b)))) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (instHMul.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (MulOneClass.toMul.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Units.instMulOneClassUnits.{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) => (fun (a : n) (b : n) => _inst_1 a b) a b))))))) 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))))) (Units.val.{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) => (fun (a : n) (b : n) => _inst_1 a b) a b)))) A) (Units.val.{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) => (fun (a : n) (b : n) => _inst_1 a b) a b)))) B))
+Case conversion may be inaccurate. Consider using '#align matrix.general_linear_group.coe_mul Matrix.GeneralLinearGroup.coe_mulₓ'. -/
 @[simp]
 theorem coe_mul : ↑(A * B) = (↑A : Matrix n n R) ⬝ (↑B : Matrix n n R) :=
   rfl
 #align matrix.general_linear_group.coe_mul Matrix.GeneralLinearGroup.coe_mul
 
+/- warning: matrix.general_linear_group.coe_one -> Matrix.GeneralLinearGroup.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.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Matrix.{u1, u1, u2} n n R) (HasLiftT.mk.{succ (max u1 u2), succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Matrix.{u1, u1, u2} n n R) (CoeTCₓ.coe.{succ (max u1 u2), succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Matrix.{u1, u1, u2} n n R) (coeBase.{succ (max u1 u2), succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Matrix.{u1, u1, u2} n n R) (Units.hasCoe.{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) => (fun (a : n) (b : n) => _inst_1 a b) a b) (CommRing.toRing.{u2} R _inst_3))))))) (OfNat.ofNat.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) 1 (OfNat.mk.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) 1 (One.one.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (MulOneClass.toHasOne.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Units.mulOneClass.{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) => (fun (a : n) (b : n) => _inst_1 a b) a b) (CommRing.toRing.{u2} 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) (Units.val.{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) => (fun (a : n) (b : n) => _inst_1 a b) a b)))) (OfNat.ofNat.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) 1 (One.toOfNat1.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (InvOneClass.toOne.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (DivInvOneMonoid.toInvOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (DivisionMonoid.toDivInvOneMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Group.toDivisionMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Units.instGroupUnits.{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) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))))))))) (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.general_linear_group.coe_one Matrix.GeneralLinearGroup.coe_oneₓ'. -/
 @[simp]
 theorem coe_one : ↑(1 : GL n R) = (1 : Matrix n n R) :=
   rfl
 #align matrix.general_linear_group.coe_one Matrix.GeneralLinearGroup.coe_one
 
+/- warning: matrix.general_linear_group.coe_inv -> Matrix.GeneralLinearGroup.coe_inv 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.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _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.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Matrix.{u1, u1, u2} n n R) (HasLiftT.mk.{succ (max u1 u2), succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Matrix.{u1, u1, u2} n n R) (CoeTCₓ.coe.{succ (max u1 u2), succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Matrix.{u1, u1, u2} n n R) (coeBase.{succ (max u1 u2), succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Matrix.{u1, u1, u2} n n R) (Units.hasCoe.{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) => (fun (a : n) (b : n) => _inst_1 a b) a b) (CommRing.toRing.{u2} R _inst_3))))))) (Inv.inv.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Units.hasInv.{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) => (fun (a : n) (b : n) => _inst_1 a b) a b) (CommRing.toRing.{u2} R _inst_3)))) A)) (Inv.inv.{max u1 u2} (Matrix.{u1, u1, u2} n n R) (Matrix.hasInv.{u1, u2} n R _inst_2 (fun (a : n) (b : n) => _inst_1 a b) _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.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Matrix.{u1, u1, u2} n n R) (HasLiftT.mk.{succ (max u1 u2), succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Matrix.{u1, u1, u2} n n R) (CoeTCₓ.coe.{succ (max u1 u2), succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Matrix.{u1, u1, u2} n n R) (coeBase.{succ (max u1 u2), succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Matrix.{u1, u1, u2} n n R) (Units.hasCoe.{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) => (fun (a : n) (b : n) => _inst_1 a b) a b) (CommRing.toRing.{u2} R _inst_3))))))) 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.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3), Eq.{max (succ u1) (succ u2)} (Matrix.{u1, u1, u2} n n R) (Units.val.{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) => (fun (a : n) (b : n) => _inst_1 a b) a b)))) (Inv.inv.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Units.instInv.{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) => (fun (a : n) (b : n) => _inst_1 a b) a b))))) A)) (Inv.inv.{max u1 u2} (Matrix.{u1, u1, u2} n n R) (Matrix.inv.{u1, u2} n R _inst_2 (fun (a : n) (b : n) => _inst_1 a b) _inst_3) (Units.val.{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) => (fun (a : n) (b : n) => _inst_1 a b) a b)))) A))
+Case conversion may be inaccurate. Consider using '#align matrix.general_linear_group.coe_inv Matrix.GeneralLinearGroup.coe_invₓ'. -/
 theorem coe_inv : ↑A⁻¹ = (↑A : Matrix n n R)⁻¹ :=
   letI := A.invertible
   inv_of_eq_nonsing_inv (↑A : Matrix n n R)
 #align matrix.general_linear_group.coe_inv Matrix.GeneralLinearGroup.coe_inv
 
+/- warning: matrix.general_linear_group.to_linear -> Matrix.GeneralLinearGroup.toLinear 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], MulEquiv.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _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))))) (MulOneClass.toHasMul.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Units.mulOneClass.{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) => (fun (a : n) (b : n) => _inst_1 a b) a b) (CommRing.toRing.{u2} R _inst_3))))) (MulOneClass.toHasMul.{max u1 u2} (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))))) (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], MulEquiv.{max u2 u1, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _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.GeneralLinearGroup._hyg.1089 : 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 u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Units.instMulOneClassUnits.{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) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (MulOneClass.toMul.{max u1 u2} (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.GeneralLinearGroup._hyg.1089 : 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))))) (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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.general_linear_group.to_linear Matrix.GeneralLinearGroup.toLinearₓ'. -/
 /-- An element of the matrix general linear group on `(n) [fintype n]` can be considered as an
 element of the endomorphism general linear group on `n → R`. -/
 def toLinear : GeneralLinearGroup n R ≃* LinearMap.GeneralLinearGroup R (n → R) :=
   Units.mapEquiv Matrix.toLinAlgEquiv'.toRingEquiv.toMulEquiv
 #align matrix.general_linear_group.to_linear Matrix.GeneralLinearGroup.toLinear
 
+/- warning: matrix.general_linear_group.coe_to_linear -> Matrix.GeneralLinearGroup.coe_toLinear 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.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3), Eq.{succ (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))))) ((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) (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))))) (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))))) (HasLiftT.mk.{succ (max u1 u2), succ (max u1 u2)} (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))))) (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))))) (CoeTCₓ.coe.{succ (max u1 u2), succ (max u1 u2)} (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))))) (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))))) (coeBase.{succ (max u1 u2), succ (max u1 u2)} (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))))) (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))))) (Units.hasCoe.{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))))))))) (coeFn.{succ (max u1 u2), succ (max u1 u2)} (MulEquiv.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _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))))) (MulOneClass.toHasMul.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Units.mulOneClass.{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) => (fun (a : n) (b : n) => _inst_1 a b) a b) (CommRing.toRing.{u2} R _inst_3))))) (MulOneClass.toHasMul.{max u1 u2} (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))))) (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)))))))) (fun (_x : MulEquiv.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _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))))) (MulOneClass.toHasMul.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Units.mulOneClass.{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) => (fun (a : n) (b : n) => _inst_1 a b) a b) (CommRing.toRing.{u2} R _inst_3))))) (MulOneClass.toHasMul.{max u1 u2} (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))))) (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)))))))) => (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _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)))))) (MulEquiv.hasCoeToFun.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _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))))) (MulOneClass.toHasMul.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Units.mulOneClass.{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) => (fun (a : n) (b : n) => _inst_1 a b) a b) (CommRing.toRing.{u2} R _inst_3))))) (MulOneClass.toHasMul.{max u1 u2} (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))))) (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)))))))) (Matrix.GeneralLinearGroup.toLinear.{u1, u2} n _inst_1 _inst_2 R _inst_3) A)) (Matrix.mulVecLin.{u2, u1, u1} R (CommRing.toCommSemiring.{u2} R _inst_3) n n _inst_2 ((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.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Matrix.{u1, u1, u2} n n R) (HasLiftT.mk.{succ (max u1 u2), succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Matrix.{u1, u1, u2} n n R) (CoeTCₓ.coe.{succ (max u1 u2), succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Matrix.{u1, u1, u2} n n R) (coeBase.{succ (max u1 u2), succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Matrix.{u1, u1, u2} n n R) (Units.hasCoe.{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) => (fun (a : n) (b : n) => _inst_1 a b) a b) (CommRing.toRing.{u2} R _inst_3))))))) 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.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3), Eq.{max (succ u1) (succ 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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))))) (Units.val.{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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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 (a._@.Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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))))) (FunLike.coe.{succ (max u1 u2), succ (max u1 u2), succ (max u1 u2)} (MulEquiv.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _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 (a._@.Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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 u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Units.instMulOneClassUnits.{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) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (MulOneClass.toMul.{max u1 u2} (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 (a._@.Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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))))) (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 (a._@.Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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 (a._@.Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (fun (_x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _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 (a._@.Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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) (EmbeddingLike.toFunLike.{succ (max u1 u2), succ (max u1 u2), succ (max u1 u2)} (MulEquiv.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _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 (a._@.Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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 u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Units.instMulOneClassUnits.{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) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (MulOneClass.toMul.{max u1 u2} (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 (a._@.Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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))))) (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 (a._@.Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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 (a._@.Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _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 (a._@.Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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))))) (EquivLike.toEmbeddingLike.{succ (max u1 u2), succ (max u1 u2), succ (max u1 u2)} (MulEquiv.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _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 (a._@.Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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 u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Units.instMulOneClassUnits.{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) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (MulOneClass.toMul.{max u1 u2} (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 (a._@.Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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))))) (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 (a._@.Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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 (a._@.Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _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.GeneralLinearGroup._hyg.1089 : 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))))) (MulEquivClass.toEquivLike.{max u1 u2, max u1 u2, max u1 u2} (MulEquiv.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _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 (a._@.Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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 u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Units.instMulOneClassUnits.{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) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (MulOneClass.toMul.{max u1 u2} (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 (a._@.Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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))))) (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 (a._@.Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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 (a._@.Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _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 (a._@.Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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 u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Units.instMulOneClassUnits.{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) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (MulOneClass.toMul.{max u1 u2} (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 (a._@.Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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))))) (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 (a._@.Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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 (a._@.Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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))))))) (MulEquiv.instMulEquivClassMulEquiv.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _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 (a._@.Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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 u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Units.instMulOneClassUnits.{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) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (MulOneClass.toMul.{max u1 u2} (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 (a._@.Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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))))) (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 (a._@.Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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 (a._@.Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup.toLinear.{u1, u2} n _inst_1 _inst_2 R _inst_3) A)) (Matrix.mulVecLin.{u2, u1, u1} R (CommRing.toCommSemiring.{u2} R _inst_3) n n _inst_2 (Units.val.{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) => (fun (a : n) (b : n) => _inst_1 a b) a b)))) A))
+Case conversion may be inaccurate. Consider using '#align matrix.general_linear_group.coe_to_linear Matrix.GeneralLinearGroup.coe_toLinearₓ'. -/
 -- Note that without the `@` and `‹_›`, lean infers `λ a b, _inst a b` instead of `_inst` as the
 -- decidability argument, which prevents `simp` from obtaining the instance by unification.
 -- These `λ a b, _inst a b` terms also appear in the type of `A`, but simp doesn't get confused by
@@ -131,6 +197,12 @@ theorem coe_toLinear : (@toLinear n ‹_› ‹_› _ _ A : (n → R) →ₗ[R]
   rfl
 #align matrix.general_linear_group.coe_to_linear Matrix.GeneralLinearGroup.coe_toLinear
 
+/- warning: matrix.general_linear_group.to_linear_apply -> Matrix.GeneralLinearGroup.toLinear_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.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (v : n -> R), Eq.{max (succ u1) (succ u2)} (n -> R) (coeFn.{succ (max u1 u2), succ (max u1 u2)} (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))))) (fun (_x : 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))))) => (n -> R) -> n -> R) (LinearMap.GeneralLinearGroup.hasCoeToFun.{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))))) (coeFn.{succ (max u1 u2), succ (max u1 u2)} (MulEquiv.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _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))))) (MulOneClass.toHasMul.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Units.mulOneClass.{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) => (fun (a : n) (b : n) => _inst_1 a b) a b) (CommRing.toRing.{u2} R _inst_3))))) (MulOneClass.toHasMul.{max u1 u2} (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))))) (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)))))))) (fun (_x : MulEquiv.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _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))))) (MulOneClass.toHasMul.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Units.mulOneClass.{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) => (fun (a : n) (b : n) => _inst_1 a b) a b) (CommRing.toRing.{u2} R _inst_3))))) (MulOneClass.toHasMul.{max u1 u2} (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))))) (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)))))))) => (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _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)))))) (MulEquiv.hasCoeToFun.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _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))))) (MulOneClass.toHasMul.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Units.mulOneClass.{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) => (fun (a : n) (b : n) => _inst_1 a b) a b) (CommRing.toRing.{u2} R _inst_3))))) (MulOneClass.toHasMul.{max u1 u2} (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))))) (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)))))))) (Matrix.GeneralLinearGroup.toLinear.{u1, u2} n _inst_1 _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))))) (Matrix.mulVecLin.{u2, u1, u1} R (CommRing.toCommSemiring.{u2} R _inst_3) n n _inst_2 ((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.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Matrix.{u1, u1, u2} n n R) (HasLiftT.mk.{succ (max u1 u2), succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Matrix.{u1, u1, u2} n n R) (CoeTCₓ.coe.{succ (max u1 u2), succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Matrix.{u1, u1, u2} n n R) (coeBase.{succ (max u1 u2), succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Matrix.{u1, u1, u2} n n R) (Units.hasCoe.{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) => (fun (a : n) (b : n) => _inst_1 a b) a b) (CommRing.toRing.{u2} 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.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _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)} (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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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))))) (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} (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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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))))) 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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} (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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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))))) 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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) (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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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))))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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) (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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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))))) (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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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)))))))) (LinearMap.GeneralLinearGroup.toLinearEquiv.{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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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)))) (FunLike.coe.{succ (max u2 u1), succ (max u2 u1), succ (max u2 u1)} (MulEquiv.{max u2 u1, max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _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 (a._@.Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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 u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Units.instMulOneClassUnits.{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) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (MulOneClass.toMul.{max u1 u2} (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 (a._@.Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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))))) (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 (a._@.Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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 (a._@.Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (fun (a : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _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 (a._@.Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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) (EmbeddingLike.toFunLike.{succ (max u2 u1), succ (max u2 u1), succ (max u2 u1)} (MulEquiv.{max u2 u1, max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _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 (a._@.Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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 u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Units.instMulOneClassUnits.{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) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (MulOneClass.toMul.{max u1 u2} (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 (a._@.Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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))))) (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 (a._@.Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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 (a._@.Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _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 (a._@.Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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))))) (EquivLike.toEmbeddingLike.{succ (max u2 u1), succ (max u2 u1), succ (max u2 u1)} (MulEquiv.{max u2 u1, max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _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 (a._@.Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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 u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Units.instMulOneClassUnits.{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) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (MulOneClass.toMul.{max u1 u2} (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 (a._@.Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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))))) (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 (a._@.Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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 (a._@.Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _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 (a._@.Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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))))) (MulEquivClass.toEquivLike.{max u2 u1, max u2 u1, max u2 u1} (MulEquiv.{max u2 u1, max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _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 (a._@.Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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 u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Units.instMulOneClassUnits.{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) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (MulOneClass.toMul.{max u1 u2} (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 (a._@.Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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))))) (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 (a._@.Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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 (a._@.Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _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 (a._@.Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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 u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Units.instMulOneClassUnits.{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) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (MulOneClass.toMul.{max u1 u2} (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 (a._@.Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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))))) (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 (a._@.Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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 (a._@.Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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))))))) (MulEquiv.instMulEquivClassMulEquiv.{max u2 u1, max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _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 (a._@.Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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 u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Units.instMulOneClassUnits.{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) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (MulOneClass.toMul.{max u1 u2} (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 (a._@.Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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))))) (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 (a._@.Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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 (a._@.Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup._hyg.1089 : 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.GeneralLinearGroup.toLinear.{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)} (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.1177 : 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.1180 : 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.1177 : 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.1180 : 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))))) (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.1177 : 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.1180 : 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.mulVecLin.{u2, u1, u1} R (CommRing.toCommSemiring.{u2} R _inst_3) n n _inst_2 (Units.val.{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) => (fun (a : n) (b : n) => _inst_1 a b) a b)))) A)) v)
+Case conversion may be inaccurate. Consider using '#align matrix.general_linear_group.to_linear_apply Matrix.GeneralLinearGroup.toLinear_applyₓ'. -/
 @[simp]
 theorem toLinear_apply (v : n → R) : (@toLinear n ‹_› ‹_› _ _ A) v = Matrix.mulVecLin (↑A) v :=
   rfl
@@ -144,14 +216,22 @@ namespace SpecialLinearGroup
 
 variable {n : Type u} [DecidableEq n] [Fintype n] {R : Type v} [CommRing R]
 
+#print Matrix.SpecialLinearGroup.hasCoeToGeneralLinearGroup /-
 instance hasCoeToGeneralLinearGroup : Coe (SpecialLinearGroup n R) (GL n R) :=
   ⟨fun A => ⟨↑A, ↑A⁻¹, congr_arg coe (mul_right_inv A), congr_arg coe (mul_left_inv A)⟩⟩
 #align matrix.special_linear_group.has_coe_to_general_linear_group Matrix.SpecialLinearGroup.hasCoeToGeneralLinearGroup
+-/
 
+/- warning: matrix.special_linear_group.coe_to_GL_det -> Matrix.SpecialLinearGroup.coeToGL_det 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] (g : Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3), Eq.{succ u2} (Units.{u2} R (Ring.toMonoid.{u2} R (CommRing.toRing.{u2} R _inst_3))) (coeFn.{max (succ u2) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u2)} (MonoidHom.{max u1 u2, u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Units.{u2} R (Ring.toMonoid.{u2} R (CommRing.toRing.{u2} R _inst_3))) (Units.mulOneClass.{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) => (fun (a : n) (b : n) => _inst_1 a b) a b) (CommRing.toRing.{u2} R _inst_3)))) (Units.mulOneClass.{u2} R (Ring.toMonoid.{u2} R (CommRing.toRing.{u2} R _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Units.{u2} R (Ring.toMonoid.{u2} R (CommRing.toRing.{u2} R _inst_3))) (Units.mulOneClass.{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) => (fun (a : n) (b : n) => _inst_1 a b) a b) (CommRing.toRing.{u2} R _inst_3)))) (Units.mulOneClass.{u2} R (Ring.toMonoid.{u2} R (CommRing.toRing.{u2} R _inst_3)))) => (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) -> (Units.{u2} R (Ring.toMonoid.{u2} R (CommRing.toRing.{u2} R _inst_3)))) (MonoidHom.hasCoeToFun.{max u1 u2, u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Units.{u2} R (Ring.toMonoid.{u2} R (CommRing.toRing.{u2} R _inst_3))) (Units.mulOneClass.{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) => (fun (a : n) (b : n) => _inst_1 a b) a b) (CommRing.toRing.{u2} R _inst_3)))) (Units.mulOneClass.{u2} R (Ring.toMonoid.{u2} R (CommRing.toRing.{u2} R _inst_3)))) (Matrix.GeneralLinearGroup.det.{u1, u2} 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.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (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.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (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.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (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.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3) (Matrix.SpecialLinearGroup.hasCoeToGeneralLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3)))) g)) (OfNat.ofNat.{u2} (Units.{u2} R (Ring.toMonoid.{u2} R (CommRing.toRing.{u2} R _inst_3))) 1 (OfNat.mk.{u2} (Units.{u2} R (Ring.toMonoid.{u2} R (CommRing.toRing.{u2} R _inst_3))) 1 (One.one.{u2} (Units.{u2} R (Ring.toMonoid.{u2} R (CommRing.toRing.{u2} R _inst_3))) (MulOneClass.toHasOne.{u2} (Units.{u2} R (Ring.toMonoid.{u2} R (CommRing.toRing.{u2} R _inst_3))) (Units.mulOneClass.{u2} R (Ring.toMonoid.{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] (g : Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.SpecialLinearGroup.coeToGL.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R _inst_3 g)) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), succ u2} (MonoidHom.{max u2 u1, u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Units.instMulOneClassUnits.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3) (fun (_x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) _x) (MulHomClass.toFunLike.{max u2 u1, max u2 u1, u2} (MonoidHom.{max u2 u1, u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Units.instMulOneClassUnits.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (MulOneClass.toMul.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3) (Units.instMulOneClassUnits.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (MulOneClass.toMul.{u2} (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, max u2 u1, u2} (MonoidHom.{max u2 u1, u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Units.instMulOneClassUnits.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Units.instMulOneClassUnits.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (MonoidHom.monoidHomClass.{max u2 u1, u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Units.instMulOneClassUnits.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))))) (Matrix.GeneralLinearGroup.det.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R _inst_3) (Matrix.SpecialLinearGroup.coeToGL.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R _inst_3 g)) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.SpecialLinearGroup.coeToGL.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R _inst_3 g)) 1 (One.toOfNat1.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.SpecialLinearGroup.coeToGL.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R _inst_3 g)) (InvOneClass.toOne.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.SpecialLinearGroup.coeToGL.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R _inst_3 g)) (DivInvOneMonoid.toInvOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.SpecialLinearGroup.coeToGL.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R _inst_3 g)) (DivisionMonoid.toDivInvOneMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.SpecialLinearGroup.coeToGL.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R _inst_3 g)) (DivisionCommMonoid.toDivisionMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.SpecialLinearGroup.coeToGL.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R _inst_3 g)) (CommGroup.toDivisionCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.SpecialLinearGroup.coeToGL.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R _inst_3 g)) (Units.instCommGroupUnitsToMonoid.{u2} R (CommRing.toCommMonoid.{u2} R _inst_3)))))))))
+Case conversion may be inaccurate. Consider using '#align matrix.special_linear_group.coe_to_GL_det Matrix.SpecialLinearGroup.coeToGL_detₓ'. -/
 @[simp]
-theorem coe_to_GL_det (g : SpecialLinearGroup n R) : (g : GL n R).det = 1 :=
+theorem coeToGL_det (g : SpecialLinearGroup n R) : (g : GL n R).det = 1 :=
   Units.ext g.Prop
-#align matrix.special_linear_group.coe_to_GL_det Matrix.SpecialLinearGroup.coe_to_GL_det
+#align matrix.special_linear_group.coe_to_GL_det Matrix.SpecialLinearGroup.coeToGL_det
 
 end SpecialLinearGroup
 
@@ -163,22 +243,40 @@ section
 
 variable (n R)
 
+/- warning: matrix.GL_pos -> Matrix.GLPos is a dubious translation:
+lean 3 declaration is
+  forall (n : Type.{u1}) (R : Type.{u2}) [_inst_1 : DecidableEq.{succ u1} n] [_inst_2 : Fintype.{u1} n] [_inst_3 : LinearOrderedCommRing.{u2} R], Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => _inst_1 a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))
+but is expected to have type
+  forall (n : Type.{u1}) (R : Type.{u2}) [_inst_1 : DecidableEq.{succ u1} n] [_inst_2 : Fintype.{u1} n] [_inst_3 : LinearOrderedCommRing.{u2} R], Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))
+Case conversion may be inaccurate. Consider using '#align matrix.GL_pos Matrix.GLPosₓ'. -/
 /-- This is the subgroup of `nxn` matrices with entries over a
 linear ordered ring and positive determinant. -/
-def gLPos : Subgroup (GL n R) :=
+def GLPos : Subgroup (GL n R) :=
   (Units.posSubgroup R).comap GeneralLinearGroup.det
-#align matrix.GL_pos Matrix.gLPos
+#align matrix.GL_pos Matrix.GLPos
 
 end
 
+/- warning: matrix.mem_GL_pos -> Matrix.mem_glpos is a dubious translation:
+lean 3 declaration is
+  forall {n : Type.{u1}} {R : Type.{u2}} [_inst_1 : DecidableEq.{succ u1} n] [_inst_2 : Fintype.{u1} n] [_inst_3 : LinearOrderedCommRing.{u2} R] (A : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))), Iff (Membership.Mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => _inst_1 a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (SetLike.hasMem.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => _inst_1 a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => _inst_1 a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) A (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (LT.lt.{u2} R (Preorder.toHasLt.{u2} R (PartialOrder.toPreorder.{u2} R (OrderedAddCommGroup.toPartialOrder.{u2} R (StrictOrderedRing.toOrderedAddCommGroup.{u2} R (LinearOrderedRing.toStrictOrderedRing.{u2} R (LinearOrderedCommRing.toLinearOrderedRing.{u2} R _inst_3)))))) (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 (StrictOrderedRing.toRing.{u2} R (LinearOrderedRing.toStrictOrderedRing.{u2} R (LinearOrderedCommRing.toLinearOrderedRing.{u2} R _inst_3))))))))))) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Units.{u2} R (Ring.toMonoid.{u2} R (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))) R (HasLiftT.mk.{succ u2, succ u2} (Units.{u2} R (Ring.toMonoid.{u2} R (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))) R (CoeTCₓ.coe.{succ u2, succ u2} (Units.{u2} R (Ring.toMonoid.{u2} R (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))) R (coeBase.{succ u2, succ u2} (Units.{u2} R (Ring.toMonoid.{u2} R (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))) R (Units.hasCoe.{u2} R (Ring.toMonoid.{u2} R (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (coeFn.{max (succ u2) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u2)} (MonoidHom.{max u1 u2, u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.{u2} R (Ring.toMonoid.{u2} R (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))) (Units.mulOneClass.{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) => (fun (a : n) (b : n) => _inst_1 a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))) (Units.mulOneClass.{u2} R (Ring.toMonoid.{u2} R (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))) (fun (_x : MonoidHom.{max u1 u2, u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.{u2} R (Ring.toMonoid.{u2} R (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))) (Units.mulOneClass.{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) => (fun (a : n) (b : n) => _inst_1 a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))) (Units.mulOneClass.{u2} R (Ring.toMonoid.{u2} R (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))) => (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) -> (Units.{u2} R (Ring.toMonoid.{u2} R (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))) (MonoidHom.hasCoeToFun.{max u1 u2, u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.{u2} R (Ring.toMonoid.{u2} R (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))) (Units.mulOneClass.{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) => (fun (a : n) (b : n) => _inst_1 a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))) (Units.mulOneClass.{u2} R (Ring.toMonoid.{u2} R (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))) (Matrix.GeneralLinearGroup.det.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) A)))
+but is expected to have type
+  forall {n : Type.{u1}} {R : Type.{u2}} [_inst_1 : DecidableEq.{succ u1} n] [_inst_2 : Fintype.{u1} n] [_inst_3 : LinearOrderedCommRing.{u2} R] (A : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))), Iff (Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b))))))) A (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (LT.lt.{u2} R (Preorder.toLT.{u2} R (PartialOrder.toPreorder.{u2} R (StrictOrderedRing.toPartialOrder.{u2} R (LinearOrderedRing.toStrictOrderedRing.{u2} R (LinearOrderedCommRing.toLinearOrderedRing.{u2} R _inst_3))))) (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} R (IsDomain.toCancelCommMonoidWithZero.{u2} R (StrictOrderedCommSemiring.toCommSemiring.{u2} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} R (LinearOrderedCommRing.toLinearOrderedCommSemiring.{u2} R _inst_3))) (LinearOrderedRing.isDomain.{u2} R (LinearOrderedCommRing.toLinearOrderedRing.{u2} R _inst_3))))))) (Units.val.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), succ u2} (MonoidHom.{max u2 u1, u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Units.instMulOneClassUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b))))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (_x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) _x) (MulHomClass.toFunLike.{max u2 u1, max u2 u1, u2} (MonoidHom.{max u2 u1, u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Units.instMulOneClassUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b))))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (MulOneClass.toMul.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instMulOneClassUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (MulOneClass.toMul.{u2} (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, max u2 u1, u2} (MonoidHom.{max u2 u1, u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Units.instMulOneClassUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b))))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Units.instMulOneClassUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b))))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (MonoidHom.monoidHomClass.{max u2 u1, u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Units.instMulOneClassUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b))))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))))) (Matrix.GeneralLinearGroup.det.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) A)))
+Case conversion may be inaccurate. Consider using '#align matrix.mem_GL_pos Matrix.mem_glposₓ'. -/
 @[simp]
-theorem mem_gLPos (A : GL n R) : A ∈ gLPos n R ↔ 0 < (A.det : R) :=
+theorem mem_glpos (A : GL n R) : A ∈ GLPos n R ↔ 0 < (A.det : R) :=
   Iff.rfl
-#align matrix.mem_GL_pos Matrix.mem_gLPos
-
-theorem gLPos.det_ne_zero (A : gLPos n R) : (A : Matrix n n R).det ≠ 0 :=
+#align matrix.mem_GL_pos Matrix.mem_glpos
+
+/- warning: matrix.GL_pos.det_ne_zero -> Matrix.GLPos.det_ne_zero is a dubious translation:
+lean 3 declaration is
+  forall {n : Type.{u1}} {R : Type.{u2}} [_inst_1 : DecidableEq.{succ u1} n] [_inst_2 : Fintype.{u1} n] [_inst_3 : LinearOrderedCommRing.{u2} R] (A : coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)), Ne.{succ u2} R (Matrix.det.{u2, u1} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{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) (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Matrix.{u1, u1, u2} n n R) (HasLiftT.mk.{succ (max u1 u2), succ (max u1 u2)} (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Matrix.{u1, u1, u2} n n R) (CoeTCₓ.coe.{succ (max u1 u2), succ (max u1 u2)} (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Matrix.{u1, u1, u2} n n R) (coeTrans.{succ (max u1 u2), succ (max u1 u2), succ (max u1 u2)} (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.{u1, u1, u2} n n R) (coeBase.{succ (max u1 u2), succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.{u1, u1, u2} n n R) (Units.hasCoe.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (coeSubtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.Mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (SetLike.hasMem.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)))))) A)) (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 (StrictOrderedRing.toRing.{u2} R (LinearOrderedRing.toStrictOrderedRing.{u2} R (LinearOrderedCommRing.toLinearOrderedRing.{u2} R _inst_3)))))))))))
+but is expected to have type
+  forall {n : Type.{u1}} {R : Type.{u2}} [_inst_1 : DecidableEq.{succ u1} n] [_inst_2 : Fintype.{u1} n] [_inst_3 : LinearOrderedCommRing.{u2} R] (A : Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3))), Ne.{succ u2} R (Matrix.det.{u2, u1} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)) (Units.val.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))) (Subtype.val.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Set.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Set.instMembershipSet.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) x (SetLike.coe.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3))) A))) (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} R (IsDomain.toCancelCommMonoidWithZero.{u2} R (StrictOrderedCommSemiring.toCommSemiring.{u2} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} R (LinearOrderedCommRing.toLinearOrderedCommSemiring.{u2} R _inst_3))) (LinearOrderedRing.isDomain.{u2} R (LinearOrderedCommRing.toLinearOrderedRing.{u2} R _inst_3)))))))
+Case conversion may be inaccurate. Consider using '#align matrix.GL_pos.det_ne_zero Matrix.GLPos.det_ne_zeroₓ'. -/
+theorem GLPos.det_ne_zero (A : GLPos n R) : (A : Matrix n n R).det ≠ 0 :=
   ne_of_gt A.Prop
-#align matrix.GL_pos.det_ne_zero Matrix.gLPos.det_ne_zero
+#align matrix.GL_pos.det_ne_zero Matrix.GLPos.det_ne_zero
 
 end
 
@@ -189,7 +287,7 @@ variable {n : Type u} {R : Type v} [DecidableEq n] [Fintype n] [LinearOrderedCom
 
 /-- Formal operation of negation on general linear group on even cardinality `n` given by negating
 each element. -/
-instance : Neg (gLPos n R) :=
+instance : Neg (GLPos n R) :=
   ⟨fun g =>
     ⟨-g,
       by
@@ -197,24 +295,42 @@ instance : Neg (gLPos n R) :=
         (Fact.out <| Even <| Fintype.card n).neg_one_pow, one_mul]
       exact g.prop⟩⟩
 
+/- warning: matrix.GL_pos.coe_neg_GL -> Matrix.GLPos.coe_neg_GL is a dubious translation:
+lean 3 declaration is
+  forall {n : Type.{u1}} {R : Type.{u2}} [_inst_1 : DecidableEq.{succ u1} n] [_inst_2 : Fintype.{u1} n] [_inst_3 : LinearOrderedCommRing.{u2} R] [_inst_4 : Fact (Even.{0} Nat Nat.hasAdd (Fintype.card.{u1} n _inst_2))] (g : coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)), Eq.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{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) (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (HasLiftT.mk.{succ (max u1 u2), succ (max u1 u2)} (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (CoeTCₓ.coe.{succ (max u1 u2), succ (max u1 u2)} (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (coeBase.{succ (max u1 u2), succ (max u1 u2)} (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (coeSubtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.Mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (SetLike.hasMem.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)))))) (Neg.neg.{max u1 u2} (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Matrix.GLPos.hasNeg.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3 _inst_4) g)) (Neg.neg.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.hasNeg.{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) => (fun (a : n) (b : n) => _inst_1 a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))) (NonUnitalNonAssocRing.toHasDistribNeg.{max u1 u2} (Matrix.{u1, u1, u2} n n R) (Matrix.nonUnitalNonAssocRing.{u2, u1} n R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (StrictOrderedRing.toRing.{u2} R (LinearOrderedRing.toStrictOrderedRing.{u2} R (LinearOrderedCommRing.toLinearOrderedRing.{u2} R _inst_3))))) _inst_2))) ((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) (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (HasLiftT.mk.{succ (max u1 u2), succ (max u1 u2)} (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (CoeTCₓ.coe.{succ (max u1 u2), succ (max u1 u2)} (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (coeBase.{succ (max u1 u2), succ (max u1 u2)} (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (coeSubtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.Mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (SetLike.hasMem.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)))))) g))
+but is expected to have type
+  forall {n : Type.{u1}} {R : Type.{u2}} [_inst_1 : DecidableEq.{succ u1} n] [_inst_2 : Fintype.{u1} n] [_inst_3 : LinearOrderedCommRing.{u2} R] [_inst_4 : Fact (Even.{0} Nat instAddNat (Fintype.card.{u1} n _inst_2))] (g : Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3))), Eq.{max (succ u1) (succ u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.val.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Set.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Set.instMembershipSet.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) x (SetLike.coe.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3))) (Neg.neg.{max u1 u2} (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3))) (Matrix.instNegSubtypeGeneralLinearGroupToCommRingToStrictOrderedCommRingMemSubgroupInstGroupUnitsMatrixToMonoidToMonoidWithZeroSemiringToSemiringToCommSemiringInstMembershipInstSetLikeSubgroupGLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3 _inst_4) g)) (Neg.neg.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instNegUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))) (NonUnitalNonAssocRing.toHasDistribNeg.{max u1 u2} (Matrix.{u1, u1, u2} n n R) (Matrix.nonUnitalNonAssocRing.{u2, u1} n R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (StrictOrderedRing.toRing.{u2} R (LinearOrderedRing.toStrictOrderedRing.{u2} R (LinearOrderedCommRing.toLinearOrderedRing.{u2} R _inst_3))))) _inst_2))) (Subtype.val.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Set.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Set.instMembershipSet.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) x (SetLike.coe.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3))) g))
+Case conversion may be inaccurate. Consider using '#align matrix.GL_pos.coe_neg_GL Matrix.GLPos.coe_neg_GLₓ'. -/
 @[simp]
-theorem gLPos.coe_neg_GL (g : gLPos n R) : ↑(-g) = -(g : GL n R) :=
+theorem GLPos.coe_neg_GL (g : GLPos n R) : ↑(-g) = -(g : GL n R) :=
   rfl
-#align matrix.GL_pos.coe_neg_GL Matrix.gLPos.coe_neg_GL
-
+#align matrix.GL_pos.coe_neg_GL Matrix.GLPos.coe_neg_GL
+
+/- warning: matrix.GL_pos.coe_neg -> Matrix.GLPos.coe_neg is a dubious translation:
+lean 3 declaration is
+  forall {n : Type.{u1}} {R : Type.{u2}} [_inst_1 : DecidableEq.{succ u1} n] [_inst_2 : Fintype.{u1} n] [_inst_3 : LinearOrderedCommRing.{u2} R] [_inst_4 : Fact (Even.{0} Nat Nat.hasAdd (Fintype.card.{u1} n _inst_2))] (g : coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _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) (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Matrix.{u1, u1, u2} n n R) (HasLiftT.mk.{succ (max u1 u2), succ (max u1 u2)} (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Matrix.{u1, u1, u2} n n R) (CoeTCₓ.coe.{succ (max u1 u2), succ (max u1 u2)} (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Matrix.{u1, u1, u2} n n R) (coeTrans.{succ (max u1 u2), succ (max u1 u2), succ (max u1 u2)} (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.{u1, u1, u2} n n R) (coeBase.{succ (max u1 u2), succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.{u1, u1, u2} n n R) (Units.hasCoe.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (coeSubtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.Mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (SetLike.hasMem.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)))))) (Neg.neg.{max u1 u2} (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Matrix.GLPos.hasNeg.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3 _inst_4) g)) (Neg.neg.{max u1 u2} (Matrix.{u1, u1, u2} n n R) (Matrix.hasNeg.{u2, u1, u1} n n R (SubNegMonoid.toHasNeg.{u2} R (AddGroup.toSubNegMonoid.{u2} R (AddGroupWithOne.toAddGroup.{u2} R (AddCommGroupWithOne.toAddGroupWithOne.{u2} R (Ring.toAddCommGroupWithOne.{u2} R (StrictOrderedRing.toRing.{u2} R (LinearOrderedRing.toStrictOrderedRing.{u2} R (LinearOrderedCommRing.toLinearOrderedRing.{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) (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Matrix.{u1, u1, u2} n n R) (HasLiftT.mk.{succ (max u1 u2), succ (max u1 u2)} (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Matrix.{u1, u1, u2} n n R) (CoeTCₓ.coe.{succ (max u1 u2), succ (max u1 u2)} (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Matrix.{u1, u1, u2} n n R) (coeTrans.{succ (max u1 u2), succ (max u1 u2), succ (max u1 u2)} (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.{u1, u1, u2} n n R) (coeBase.{succ (max u1 u2), succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.{u1, u1, u2} n n R) (Units.hasCoe.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (coeSubtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.Mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (SetLike.hasMem.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)))))) g))
+but is expected to have type
+  forall {n : Type.{u1}} {R : Type.{u2}} [_inst_1 : DecidableEq.{succ u1} n] [_inst_2 : Fintype.{u1} n] [_inst_3 : LinearOrderedCommRing.{u2} R] [_inst_4 : Fact (Even.{0} Nat instAddNat (Fintype.card.{u1} n _inst_2))] (g : Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3))), Eq.{max (succ u1) (succ u2)} (Matrix.{u1, u1, u2} n n R) (Units.val.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))) (Subtype.val.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Set.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Set.instMembershipSet.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) x (SetLike.coe.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3))) (Neg.neg.{max u1 u2} (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3))) (Matrix.instNegSubtypeGeneralLinearGroupToCommRingToStrictOrderedCommRingMemSubgroupInstGroupUnitsMatrixToMonoidToMonoidWithZeroSemiringToSemiringToCommSemiringInstMembershipInstSetLikeSubgroupGLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3 _inst_4) g))) (Neg.neg.{max u1 u2} (Matrix.{u1, u1, u2} n n R) (Matrix.neg.{u2, u1, u1} n n R (Ring.toNeg.{u2} R (StrictOrderedRing.toRing.{u2} R (LinearOrderedRing.toStrictOrderedRing.{u2} R (LinearOrderedCommRing.toLinearOrderedRing.{u2} R _inst_3))))) (Units.val.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))) (Subtype.val.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Set.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Set.instMembershipSet.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) x (SetLike.coe.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3))) g)))
+Case conversion may be inaccurate. Consider using '#align matrix.GL_pos.coe_neg Matrix.GLPos.coe_negₓ'. -/
 @[simp]
-theorem gLPos.coe_neg (g : gLPos n R) : ↑(-g) = -(g : Matrix n n R) :=
+theorem GLPos.coe_neg (g : GLPos n R) : ↑(-g) = -(g : Matrix n n R) :=
   rfl
-#align matrix.GL_pos.coe_neg Matrix.gLPos.coe_neg
-
+#align matrix.GL_pos.coe_neg Matrix.GLPos.coe_neg
+
+/- warning: matrix.GL_pos.coe_neg_apply -> Matrix.GLPos.coe_neg_apply is a dubious translation:
+lean 3 declaration is
+  forall {n : Type.{u1}} {R : Type.{u2}} [_inst_1 : DecidableEq.{succ u1} n] [_inst_2 : Fintype.{u1} n] [_inst_3 : LinearOrderedCommRing.{u2} R] [_inst_4 : Fact (Even.{0} Nat Nat.hasAdd (Fintype.card.{u1} n _inst_2))] (g : coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (i : n) (j : n), Eq.{succ u2} 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) (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Matrix.{u1, u1, u2} n n R) (HasLiftT.mk.{succ (max u1 u2), succ (max u1 u2)} (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Matrix.{u1, u1, u2} n n R) (CoeTCₓ.coe.{succ (max u1 u2), succ (max u1 u2)} (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Matrix.{u1, u1, u2} n n R) (coeTrans.{succ (max u1 u2), succ (max u1 u2), succ (max u1 u2)} (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.{u1, u1, u2} n n R) (coeBase.{succ (max u1 u2), succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.{u1, u1, u2} n n R) (Units.hasCoe.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (coeSubtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.Mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (SetLike.hasMem.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)))))) (Neg.neg.{max u1 u2} (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Matrix.GLPos.hasNeg.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3 _inst_4) g) i j) (Neg.neg.{u2} R (SubNegMonoid.toHasNeg.{u2} R (AddGroup.toSubNegMonoid.{u2} R (AddGroupWithOne.toAddGroup.{u2} R (AddCommGroupWithOne.toAddGroupWithOne.{u2} R (Ring.toAddCommGroupWithOne.{u2} R (StrictOrderedRing.toRing.{u2} R (LinearOrderedRing.toStrictOrderedRing.{u2} R (LinearOrderedCommRing.toLinearOrderedRing.{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) (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Matrix.{u1, u1, u2} n n R) (HasLiftT.mk.{succ (max u1 u2), succ (max u1 u2)} (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Matrix.{u1, u1, u2} n n R) (CoeTCₓ.coe.{succ (max u1 u2), succ (max u1 u2)} (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Matrix.{u1, u1, u2} n n R) (coeTrans.{succ (max u1 u2), succ (max u1 u2), succ (max u1 u2)} (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.{u1, u1, u2} n n R) (coeBase.{succ (max u1 u2), succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.{u1, u1, u2} n n R) (Units.hasCoe.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (coeSubtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.Mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (SetLike.hasMem.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)))))) g i j))
+but is expected to have type
+  forall {n : Type.{u1}} {R : Type.{u2}} [_inst_1 : DecidableEq.{succ u1} n] [_inst_2 : Fintype.{u1} n] [_inst_3 : LinearOrderedCommRing.{u2} R] [_inst_4 : Fact (Even.{0} Nat instAddNat (Fintype.card.{u1} n _inst_2))] (g : Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3))) (i : n) (j : n), Eq.{succ u2} R (Units.val.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))) (Subtype.val.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Set.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Set.instMembershipSet.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) x (SetLike.coe.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3))) (Neg.neg.{max u1 u2} (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3))) (Matrix.instNegSubtypeGeneralLinearGroupToCommRingToStrictOrderedCommRingMemSubgroupInstGroupUnitsMatrixToMonoidToMonoidWithZeroSemiringToSemiringToCommSemiringInstMembershipInstSetLikeSubgroupGLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3 _inst_4) g)) i j) (Neg.neg.{u2} R (Ring.toNeg.{u2} R (StrictOrderedRing.toRing.{u2} R (LinearOrderedRing.toStrictOrderedRing.{u2} R (LinearOrderedCommRing.toLinearOrderedRing.{u2} R _inst_3)))) (Units.val.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))) (Subtype.val.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Set.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Set.instMembershipSet.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) x (SetLike.coe.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3))) g) i j))
+Case conversion may be inaccurate. Consider using '#align matrix.GL_pos.coe_neg_apply Matrix.GLPos.coe_neg_applyₓ'. -/
 @[simp]
-theorem gLPos.coe_neg_apply (g : gLPos n R) (i j : n) :
+theorem GLPos.coe_neg_apply (g : GLPos n R) (i j : n) :
     (↑(-g) : Matrix n n R) i j = -(↑g : Matrix n n R) i j :=
   rfl
-#align matrix.GL_pos.coe_neg_apply Matrix.gLPos.coe_neg_apply
+#align matrix.GL_pos.coe_neg_apply Matrix.GLPos.coe_neg_apply
 
-instance : HasDistribNeg (gLPos n R) :=
-  Subtype.coe_injective.HasDistribNeg _ gLPos.coe_neg_GL (gLPos n R).val_mul
+instance : HasDistribNeg (GLPos n R) :=
+  Subtype.coe_injective.HasDistribNeg _ GLPos.coe_neg_GL (GLPos n R).val_mul
 
 end Neg
 
@@ -222,50 +338,93 @@ namespace SpecialLinearGroup
 
 variable {n : Type u} [DecidableEq n] [Fintype n] {R : Type v} [LinearOrderedCommRing R]
 
+/- warning: matrix.special_linear_group.to_GL_pos -> Matrix.SpecialLinearGroup.toGLPos 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 : LinearOrderedCommRing.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Monoid.toMulOneClass.{max u1 u2} (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (DivInvMonoid.toMonoid.{max u1 u2} (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Group.toDivInvMonoid.{max u1 u2} (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Subgroup.toGroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _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 : LinearOrderedCommRing.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)))
+Case conversion may be inaccurate. Consider using '#align matrix.special_linear_group.to_GL_pos Matrix.SpecialLinearGroup.toGLPosₓ'. -/
 /-- `special_linear_group n R` embeds into `GL_pos n R` -/
-def toGLPos : SpecialLinearGroup n R →* gLPos n R
+def toGLPos : SpecialLinearGroup n R →* GLPos n R
     where
   toFun A := ⟨(A : GL n R), show 0 < (↑A : Matrix n n R).det from A.Prop.symm ▸ zero_lt_one⟩
   map_one' := Subtype.ext <| Units.ext <| rfl
   map_mul' A₁ A₂ := Subtype.ext <| Units.ext <| rfl
 #align matrix.special_linear_group.to_GL_pos Matrix.SpecialLinearGroup.toGLPos
 
-instance : Coe (SpecialLinearGroup n R) (gLPos n R) :=
+instance : Coe (SpecialLinearGroup n R) (GLPos n R) :=
   ⟨toGLPos⟩
 
-theorem coe_eq_toGLPos : (coe : SpecialLinearGroup n R → gLPos n R) = toGLPos :=
+/- warning: matrix.special_linear_group.coe_eq_to_GL_pos clashes with [anonymous] -> [anonymous]
+warning: matrix.special_linear_group.coe_eq_to_GL_pos -> [anonymous] 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 : LinearOrderedCommRing.{u2} R], Eq.{succ (max u1 u2)} ((Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) -> (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Matrix.SpecialLinearGroup.Matrix.GLPos.hasCoe.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Monoid.toMulOneClass.{max u1 u2} (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (DivInvMonoid.toMonoid.{max u1 u2} (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Group.toDivInvMonoid.{max u1 u2} (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Subgroup.toGroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Monoid.toMulOneClass.{max u1 u2} (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (DivInvMonoid.toMonoid.{max u1 u2} (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Group.toDivInvMonoid.{max u1 u2} (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Subgroup.toGroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)))))) => (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) -> (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Monoid.toMulOneClass.{max u1 u2} (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (DivInvMonoid.toMonoid.{max u1 u2} (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Group.toDivInvMonoid.{max u1 u2} (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Subgroup.toGroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)))))) (Matrix.SpecialLinearGroup.toGLPos.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3))
+but is expected to have type
+  forall {n : Type.{u1}} {_inst_1 : Type.{u2}}, (Nat -> n -> _inst_1) -> Nat -> (List.{u1} n) -> (List.{u2} _inst_1)
+Case conversion may be inaccurate. Consider using '#align matrix.special_linear_group.coe_eq_to_GL_pos [anonymous]ₓ'. -/
+theorem [anonymous] : (coe : SpecialLinearGroup n R → GLPos n R) = toGLPos :=
   rfl
-#align matrix.special_linear_group.coe_eq_to_GL_pos Matrix.SpecialLinearGroup.coe_eq_toGLPos
-
-theorem toGLPos_injective : Function.Injective (toGLPos : SpecialLinearGroup n R → gLPos n R) :=
-  (show Function.Injective ((coe : gLPos n R → Matrix n n R) ∘ toGLPos) from
+#align matrix.special_linear_group.coe_eq_to_GL_pos [anonymous]
+
+/- warning: matrix.special_linear_group.to_GL_pos_injective -> Matrix.SpecialLinearGroup.toGLPos_injective 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 : LinearOrderedCommRing.{u2} R], Function.Injective.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Monoid.toMulOneClass.{max u1 u2} (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (DivInvMonoid.toMonoid.{max u1 u2} (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Group.toDivInvMonoid.{max u1 u2} (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Subgroup.toGroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Monoid.toMulOneClass.{max u1 u2} (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (DivInvMonoid.toMonoid.{max u1 u2} (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Group.toDivInvMonoid.{max u1 u2} (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Subgroup.toGroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)))))) => (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) -> (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Monoid.toMulOneClass.{max u1 u2} (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (DivInvMonoid.toMonoid.{max u1 u2} (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Group.toDivInvMonoid.{max u1 u2} (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Subgroup.toGroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)))))) (Matrix.SpecialLinearGroup.toGLPos.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 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 : LinearOrderedCommRing.{u2} R], Function.Injective.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)))) (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (_x : Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} 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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)))) (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3))) (MulOneClass.toMul.{max u2 u1} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))) (MulOneClass.toMul.{max u2 u1} (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)))) (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)))))) (Matrix.SpecialLinearGroup.toGLPos.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3))
+Case conversion may be inaccurate. Consider using '#align matrix.special_linear_group.to_GL_pos_injective Matrix.SpecialLinearGroup.toGLPos_injectiveₓ'. -/
+theorem toGLPos_injective : Function.Injective (toGLPos : SpecialLinearGroup n R → GLPos n R) :=
+  (show Function.Injective ((coe : GLPos n R → Matrix n n R) ∘ toGLPos) from
       Subtype.coe_injective).of_comp
 #align matrix.special_linear_group.to_GL_pos_injective Matrix.SpecialLinearGroup.toGLPos_injective
 
+/- warning: matrix.special_linear_group.coe_GL_pos_coe_GL_coe_matrix -> Matrix.SpecialLinearGroup.coe_GLPos_coe_GL_coe_matrix 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 : LinearOrderedCommRing.{u2} R] (g : Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{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) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.{u1, u1, u2} n n R) (HasLiftT.mk.{succ (max u1 u2), succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.{u1, u1, u2} n n R) (CoeTCₓ.coe.{succ (max u1 u2), succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.{u1, u1, u2} n n R) (coeBase.{succ (max u1 u2), succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.{u1, u1, u2} n n R) (Units.hasCoe.{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) => (fun (a : n) (b : n) => _inst_1 a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{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) (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (HasLiftT.mk.{succ (max u1 u2), succ (max u1 u2)} (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (CoeTCₓ.coe.{succ (max u1 u2), succ (max u1 u2)} (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (coeBase.{succ (max u1 u2), succ (max u1 u2)} (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (coeSubtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.Mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (SetLike.hasMem.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Matrix.SpecialLinearGroup.Matrix.GLPos.hasCoe.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3)))) g))) ((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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} 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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} 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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} 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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} 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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))) g)
+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 : LinearOrderedCommRing.{u2} R] (g : Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))), Eq.{max (succ u1) (succ u2)} (Matrix.{u1, u1, u2} n n R) (Units.val.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))) (Subtype.val.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Set.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Set.instMembershipSet.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) x (SetLike.coe.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _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) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3)))) (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (a : Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) a) (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) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3)))) (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (MulOneClass.toMul.{max u2 u1} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))) (MulOneClass.toMul.{max u2 u1} (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _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) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3)))) (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (MonoidHom.monoidHomClass.{max u2 u1, max u2 u1} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3)))))) (Matrix.SpecialLinearGroup.toGLPos.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R _inst_3) g))) (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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) g)
+Case conversion may be inaccurate. Consider using '#align matrix.special_linear_group.coe_GL_pos_coe_GL_coe_matrix Matrix.SpecialLinearGroup.coe_GLPos_coe_GL_coe_matrixₓ'. -/
 /-- Coercing a `special_linear_group` via `GL_pos` and `GL` is the same as coercing striaght to a
 matrix. -/
 @[simp]
-theorem coe_gLPos_coe_GL_coe_matrix (g : SpecialLinearGroup n R) :
-    (↑(↑(↑g : gLPos n R) : GL n R) : Matrix n n R) = ↑g :=
+theorem coe_GLPos_coe_GL_coe_matrix (g : SpecialLinearGroup n R) :
+    (↑(↑(↑g : GLPos n R) : GL n R) : Matrix n n R) = ↑g :=
   rfl
-#align matrix.special_linear_group.coe_GL_pos_coe_GL_coe_matrix Matrix.SpecialLinearGroup.coe_gLPos_coe_GL_coe_matrix
-
+#align matrix.special_linear_group.coe_GL_pos_coe_GL_coe_matrix Matrix.SpecialLinearGroup.coe_GLPos_coe_GL_coe_matrix
+
+/- warning: matrix.special_linear_group.coe_to_GL_pos_to_GL_det -> Matrix.SpecialLinearGroup.coe_to_GLPos_to_GL_det 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 : LinearOrderedCommRing.{u2} R] (g : Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))), Eq.{succ u2} (Units.{u2} R (Ring.toMonoid.{u2} R (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))) (coeFn.{max (succ u2) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u2)} (MonoidHom.{max u1 u2, u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.{u2} R (Ring.toMonoid.{u2} R (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))) (Units.mulOneClass.{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) => (fun (a : n) (b : n) => _inst_1 a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))) (Units.mulOneClass.{u2} R (Ring.toMonoid.{u2} R (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))) (fun (_x : MonoidHom.{max u1 u2, u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.{u2} R (Ring.toMonoid.{u2} R (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))) (Units.mulOneClass.{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) => (fun (a : n) (b : n) => _inst_1 a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))) (Units.mulOneClass.{u2} R (Ring.toMonoid.{u2} R (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))) => (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) -> (Units.{u2} R (Ring.toMonoid.{u2} R (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))) (MonoidHom.hasCoeToFun.{max u1 u2, u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.{u2} R (Ring.toMonoid.{u2} R (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))) (Units.mulOneClass.{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) => (fun (a : n) (b : n) => _inst_1 a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))) (Units.mulOneClass.{u2} R (Ring.toMonoid.{u2} R (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))) (Matrix.GeneralLinearGroup.det.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{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) (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (HasLiftT.mk.{succ (max u1 u2), succ (max u1 u2)} (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (CoeTCₓ.coe.{succ (max u1 u2), succ (max u1 u2)} (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (coeBase.{succ (max u1 u2), succ (max u1 u2)} (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (coeSubtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.Mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (SetLike.hasMem.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Matrix.SpecialLinearGroup.Matrix.GLPos.hasCoe.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3)))) g))) (OfNat.ofNat.{u2} (Units.{u2} R (Ring.toMonoid.{u2} R (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))) 1 (OfNat.mk.{u2} (Units.{u2} R (Ring.toMonoid.{u2} R (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))) 1 (One.one.{u2} (Units.{u2} R (Ring.toMonoid.{u2} R (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))) (MulOneClass.toHasOne.{u2} (Units.{u2} R (Ring.toMonoid.{u2} R (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))) (Units.mulOneClass.{u2} R (Ring.toMonoid.{u2} R (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{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 : LinearOrderedCommRing.{u2} R] (g : Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Subtype.val.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Set.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Set.instMembershipSet.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) x (SetLike.coe.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _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) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3)))) (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (a : Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) a) (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) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3)))) (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (MulOneClass.toMul.{max u2 u1} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))) (MulOneClass.toMul.{max u2 u1} (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _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) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3)))) (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (MonoidHom.monoidHomClass.{max u2 u1, max u2 u1} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3)))))) (Matrix.SpecialLinearGroup.toGLPos.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R _inst_3) g))) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), succ u2} (MonoidHom.{max u2 u1, u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Units.instMulOneClassUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (_x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) _x) (MulHomClass.toFunLike.{max u2 u1, max u2 u1, u2} (MonoidHom.{max u2 u1, u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Units.instMulOneClassUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (MulOneClass.toMul.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instMulOneClassUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (MulOneClass.toMul.{u2} (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, max u2 u1, u2} (MonoidHom.{max u2 u1, u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Units.instMulOneClassUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Units.instMulOneClassUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (MonoidHom.monoidHomClass.{max u2 u1, u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Units.instMulOneClassUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))))) (Matrix.GeneralLinearGroup.det.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.val.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Set.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Set.instMembershipSet.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) x (SetLike.coe.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _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) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3)))) (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (a : Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) a) (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) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3)))) (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (MulOneClass.toMul.{max u2 u1} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))) (MulOneClass.toMul.{max u2 u1} (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _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) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3)))) (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (MonoidHom.monoidHomClass.{max u2 u1, max u2 u1} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3)))))) (Matrix.SpecialLinearGroup.toGLPos.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R _inst_3) g))) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Subtype.val.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Set.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Set.instMembershipSet.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) x (SetLike.coe.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _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) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3)))) (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (a : Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) a) (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) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3)))) (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (MulOneClass.toMul.{max u2 u1} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))) (MulOneClass.toMul.{max u2 u1} (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _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) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3)))) (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (MonoidHom.monoidHomClass.{max u2 u1, max u2 u1} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3)))))) (Matrix.SpecialLinearGroup.toGLPos.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R _inst_3) g))) 1 (One.toOfNat1.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Subtype.val.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Set.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Set.instMembershipSet.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) x (SetLike.coe.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _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) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3)))) (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (a : Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) a) (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) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3)))) (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (MulOneClass.toMul.{max u2 u1} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))) (MulOneClass.toMul.{max u2 u1} (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _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) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3)))) (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (MonoidHom.monoidHomClass.{max u2 u1, max u2 u1} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3)))))) (Matrix.SpecialLinearGroup.toGLPos.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R _inst_3) g))) (InvOneClass.toOne.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Subtype.val.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Set.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Set.instMembershipSet.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) x (SetLike.coe.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _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) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3)))) (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (a : Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) a) (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) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3)))) (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (MulOneClass.toMul.{max u2 u1} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))) (MulOneClass.toMul.{max u2 u1} (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _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) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3)))) (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (MonoidHom.monoidHomClass.{max u2 u1, max u2 u1} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3)))))) (Matrix.SpecialLinearGroup.toGLPos.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R _inst_3) g))) (DivInvOneMonoid.toInvOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Subtype.val.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Set.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Set.instMembershipSet.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) x (SetLike.coe.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _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) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3)))) (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (a : Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) a) (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) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3)))) (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (MulOneClass.toMul.{max u2 u1} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))) (MulOneClass.toMul.{max u2 u1} (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _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) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3)))) (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (MonoidHom.monoidHomClass.{max u2 u1, max u2 u1} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3)))))) (Matrix.SpecialLinearGroup.toGLPos.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R _inst_3) g))) (DivisionMonoid.toDivInvOneMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Subtype.val.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Set.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Set.instMembershipSet.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) x (SetLike.coe.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _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) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3)))) (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (a : Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) a) (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) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3)))) (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (MulOneClass.toMul.{max u2 u1} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))) (MulOneClass.toMul.{max u2 u1} (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _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) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3)))) (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (MonoidHom.monoidHomClass.{max u2 u1, max u2 u1} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3)))))) (Matrix.SpecialLinearGroup.toGLPos.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R _inst_3) g))) (DivisionCommMonoid.toDivisionMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Subtype.val.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Set.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Set.instMembershipSet.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) x (SetLike.coe.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _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) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3)))) (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (a : Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) a) (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) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3)))) (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (MulOneClass.toMul.{max u2 u1} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))) (MulOneClass.toMul.{max u2 u1} (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _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) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3)))) (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (MonoidHom.monoidHomClass.{max u2 u1, max u2 u1} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3)))))) (Matrix.SpecialLinearGroup.toGLPos.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R _inst_3) g))) (CommGroup.toDivisionCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Subtype.val.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Set.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Set.instMembershipSet.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) x (SetLike.coe.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _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) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3)))) (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (a : Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) a) (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) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3)))) (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (MulOneClass.toMul.{max u2 u1} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))) (MulOneClass.toMul.{max u2 u1} (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _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) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3)))) (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (MonoidHom.monoidHomClass.{max u2 u1, max u2 u1} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3)))))) (Matrix.SpecialLinearGroup.toGLPos.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R _inst_3) g))) (Units.instCommGroupUnitsToMonoid.{u2} R (LinearOrderedCommRing.toCommMonoid.{u2} R _inst_3)))))))))
+Case conversion may be inaccurate. Consider using '#align matrix.special_linear_group.coe_to_GL_pos_to_GL_det Matrix.SpecialLinearGroup.coe_to_GLPos_to_GL_detₓ'. -/
 @[simp]
-theorem coe_to_gLPos_to_GL_det (g : SpecialLinearGroup n R) : ((g : gLPos n R) : GL n R).det = 1 :=
+theorem coe_to_GLPos_to_GL_det (g : SpecialLinearGroup n R) : ((g : GLPos n R) : GL n R).det = 1 :=
   Units.ext g.Prop
-#align matrix.special_linear_group.coe_to_GL_pos_to_GL_det Matrix.SpecialLinearGroup.coe_to_gLPos_to_GL_det
+#align matrix.special_linear_group.coe_to_GL_pos_to_GL_det Matrix.SpecialLinearGroup.coe_to_GLPos_to_GL_det
 
 variable [Fact (Even (Fintype.card n))]
 
+/- warning: matrix.special_linear_group.coe_GL_pos_neg -> Matrix.SpecialLinearGroup.coe_GLPos_neg 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 : LinearOrderedCommRing.{u2} R] [_inst_4 : Fact (Even.{0} Nat Nat.hasAdd (Fintype.card.{u1} n _inst_2))] (g : Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))), Eq.{succ (max u1 u2)} (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Matrix.SpecialLinearGroup.Matrix.GLPos.hasCoe.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3)))) (Neg.neg.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.hasNeg.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)) _inst_4) g)) (Neg.neg.{max u1 u2} (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Matrix.GLPos.hasNeg.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3 _inst_4) ((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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (coeSort.{succ (max u1 u2), succ (succ (max u1 u2))} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) Type.{max u1 u2} (SetLike.hasCoeToSort.{max u1 u2, max u1 u2} (Subgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.setLike.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.group.{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) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) (CommRing.toRing.{u2} R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => _inst_1 a b) _inst_2 _inst_3)) (Matrix.SpecialLinearGroup.Matrix.GLPos.hasCoe.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3)))) g))
+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 : LinearOrderedCommRing.{u2} R] [_inst_4 : Fact (Even.{0} Nat instAddNat (Fintype.card.{u1} n _inst_2))] (g : Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))), Eq.{max (succ u1) (succ u2)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) g) (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) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3)))) (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (a : Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) a) (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) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3)))) (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (MulOneClass.toMul.{max u2 u1} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))) (MulOneClass.toMul.{max u2 u1} (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _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) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3)))) (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (MonoidHom.monoidHomClass.{max u2 u1, max u2 u1} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3)))))) (Matrix.SpecialLinearGroup.toGLPos.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R _inst_3) (Neg.neg.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.instNegSpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)) _inst_4) g)) (Neg.neg.{max u1 u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) g) (Matrix.instNegSubtypeGeneralLinearGroupToCommRingToStrictOrderedCommRingMemSubgroupInstGroupUnitsMatrixToMonoidToMonoidWithZeroSemiringToSemiringToCommSemiringInstMembershipInstSetLikeSubgroupGLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3 _inst_4) (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) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3)))) (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (a : Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) a) (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) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3)))) (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (MulOneClass.toMul.{max u2 u1} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))))) (MulOneClass.toMul.{max u2 u1} (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _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) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3)))) (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (MonoidHom.monoidHomClass.{max u2 u1, max u2 u1} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subtype.{succ (max u1 u2)} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (fun (x : Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) => Membership.mem.{max u1 u2, max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Subgroup.{max u2 u1} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))) (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Subgroup.instSetLikeSubgroup.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))))) x (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) (Submonoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (DivInvMonoid.toMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Group.toDivInvMonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b)))))))) (Subgroup.toSubmonoid.{max u1 u2} (Matrix.GeneralLinearGroup.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3))) (Units.instGroupUnits.{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 (StrictOrderedCommRing.toCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R _inst_3)))) _inst_2 (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b))))) (Matrix.GLPos.{u1, u2} n R (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 _inst_3)))))) (Matrix.SpecialLinearGroup.toGLPos.{u1, u2} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R _inst_3) g))
+Case conversion may be inaccurate. Consider using '#align matrix.special_linear_group.coe_GL_pos_neg Matrix.SpecialLinearGroup.coe_GLPos_negₓ'. -/
 @[norm_cast]
-theorem coe_gLPos_neg (g : SpecialLinearGroup n R) : ↑(-g) = -(↑g : gLPos n R) :=
+theorem coe_GLPos_neg (g : SpecialLinearGroup n R) : ↑(-g) = -(↑g : GLPos n R) :=
   Subtype.ext <| Units.ext rfl
-#align matrix.special_linear_group.coe_GL_pos_neg Matrix.SpecialLinearGroup.coe_gLPos_neg
+#align matrix.special_linear_group.coe_GL_pos_neg Matrix.SpecialLinearGroup.coe_GLPos_neg
 
 end SpecialLinearGroup
 
 section Examples
 
+/- warning: matrix.plane_conformal_matrix -> Matrix.planeConformalMatrix is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : Field.{u1} R] (a : R) (b : R), (Ne.{succ u1} R (HAdd.hAdd.{u1, u1, u1} R R R (instHAdd.{u1} R (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R _inst_1))))) (HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R (Ring.toMonoid.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R _inst_1))))) a (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R (Ring.toMonoid.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R _inst_1))))) b (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R _inst_1))))))))))) -> (Matrix.GeneralLinearGroup.{0, u1} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) R (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))))) (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_1)))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : Field.{u1} R] (a : R) (b : R), (Ne.{succ u1} R (HAdd.hAdd.{u1, u1, u1} R R R (instHAdd.{u1} R (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R _inst_1)))))))) (HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (DivisionSemiring.toSemiring.{u1} R (Semifield.toDivisionSemiring.{u1} R (Field.toSemifield.{u1} R _inst_1))))))) a (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (DivisionSemiring.toSemiring.{u1} R (Semifield.toDivisionSemiring.{u1} R (Field.toSemifield.{u1} R _inst_1))))))) b (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2)))) (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (CommMonoidWithZero.toZero.{u1} R (CommGroupWithZero.toCommMonoidWithZero.{u1} R (Semifield.toCommGroupWithZero.{u1} R (Field.toSemifield.{u1} R _inst_1))))))) -> (Matrix.GeneralLinearGroup.{0, u1} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) R (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))) (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_1)))
+Case conversion may be inaccurate. Consider using '#align matrix.plane_conformal_matrix Matrix.planeConformalMatrixₓ'. -/
 /-- The matrix [a, -b; b, a] (inspired by multiplication by a complex number); it is an element of
 $GL_2(R)$ if `a ^ 2 + b ^ 2` is nonzero. -/
 @[simps (config := { fullyApplied := false }) coe]
Diff
@@ -266,7 +266,6 @@ end SpecialLinearGroup
 
 section Examples
 
-/- ./././Mathport/Syntax/Translate/Tactic/Basic.lean:31:4: unsupported: too many args: matrix.notation ... #[[]] -/
 /-- The matrix [a, -b; b, a] (inspired by multiplication by a complex number); it is an element of
 $GL_2(R)$ if `a ^ 2 + b ^ 2` is nonzero. -/
 @[simps (config := { fullyApplied := false }) coe]
Diff
@@ -266,17 +266,13 @@ end SpecialLinearGroup
 
 section Examples
 
-/- ./././Mathport/Syntax/Translate/Expr.lean:207:4: warning: unsupported notation `«expr!![ » -/
-/- ./././Mathport/Syntax/Translate/Expr.lean:387:14: unsupported user notation matrix.notation -/
+/- ./././Mathport/Syntax/Translate/Tactic/Basic.lean:31:4: unsupported: too many args: matrix.notation ... #[[]] -/
 /-- The matrix [a, -b; b, a] (inspired by multiplication by a complex number); it is an element of
 $GL_2(R)$ if `a ^ 2 + b ^ 2` is nonzero. -/
 @[simps (config := { fullyApplied := false }) coe]
 def planeConformalMatrix {R} [Field R] (a b : R) (hab : a ^ 2 + b ^ 2 ≠ 0) :
     Matrix.GeneralLinearGroup (Fin 2) R :=
-  GeneralLinearGroup.mkOfDetNeZero
-    («expr!![ »
-      "./././Mathport/Syntax/Translate/Expr.lean:387:14: unsupported user notation matrix.notation")
-    (by simpa [det_fin_two, sq] using hab)
+  GeneralLinearGroup.mkOfDetNeZero !![a, -b; b, a] (by simpa [det_fin_two, sq] using hab)
 #align matrix.plane_conformal_matrix Matrix.planeConformalMatrix
 
 /- TODO: Add Iwasawa matrices `n_x=!![1,x; 0,1]`, `a_t=!![exp(t/2),0;0,exp(-t/2)]` and
Diff
@@ -267,7 +267,7 @@ end SpecialLinearGroup
 section Examples
 
 /- ./././Mathport/Syntax/Translate/Expr.lean:207:4: warning: unsupported notation `«expr!![ » -/
-/- ./././Mathport/Syntax/Translate/Expr.lean:391:14: unsupported user notation matrix.notation -/
+/- ./././Mathport/Syntax/Translate/Expr.lean:387:14: unsupported user notation matrix.notation -/
 /-- The matrix [a, -b; b, a] (inspired by multiplication by a complex number); it is an element of
 $GL_2(R)$ if `a ^ 2 + b ^ 2` is nonzero. -/
 @[simps (config := { fullyApplied := false }) coe]
@@ -275,7 +275,7 @@ def planeConformalMatrix {R} [Field R] (a b : R) (hab : a ^ 2 + b ^ 2 ≠ 0) :
     Matrix.GeneralLinearGroup (Fin 2) R :=
   GeneralLinearGroup.mkOfDetNeZero
     («expr!![ »
-      "./././Mathport/Syntax/Translate/Expr.lean:391:14: unsupported user notation matrix.notation")
+      "./././Mathport/Syntax/Translate/Expr.lean:387:14: unsupported user notation matrix.notation")
     (by simpa [det_fin_two, sq] using hab)
 #align matrix.plane_conformal_matrix Matrix.planeConformalMatrix
 

Changes in mathlib4

mathlib3
mathlib4
chore: split Ordered instances for subobjects into separate files (#10900)

Moving these to separate files should make typeclass synthesis less expensive. Additionally two of them are quite long and this shrinks them slightly.

This handles:

  • Submonoid
  • Subgroup
  • Subsemiring
  • Subring
  • Subfield
  • Submodule
  • Subalgebra

This also moves Units.posSubgroup into its own file.

The copyright headers are from:

Co-authored-by: Eric Wieser <wieser.eric@gmail.com>

Diff
@@ -6,6 +6,7 @@ Authors: Chris Birkbeck
 import Mathlib.LinearAlgebra.GeneralLinearGroup
 import Mathlib.LinearAlgebra.Matrix.NonsingularInverse
 import Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup
+import Mathlib.RingTheory.Subring.Units
 
 #align_import linear_algebra.matrix.general_linear_group from "leanprover-community/mathlib"@"2705404e701abc6b3127da906f40bae062a169c9"
 
chore: replace Lean 3 syntax λ x, in doc comments (#10727)

Use Lean 4 syntax fun x ↦ instead, matching the style guide. This is close to exhaustive for doc comments; mathlib has about 460 remaining uses of λ (not all in Lean 3 syntax).

Diff
@@ -128,10 +128,10 @@ def toLinear : GeneralLinearGroup n R ≃* LinearMap.GeneralLinearGroup R (n →
   Units.mapEquiv Matrix.toLinAlgEquiv'.toRingEquiv.toMulEquiv
 #align matrix.general_linear_group.to_linear Matrix.GeneralLinearGroup.toLinear
 
--- Note that without the `@` and `‹_›`, lean infers `λ a b, _inst a b` instead of `_inst` as the
+-- Note that without the `@` and `‹_›`, Lean infers `fun a b ↦ _inst a b` instead of `_inst` as the
 -- decidability argument, which prevents `simp` from obtaining the instance by unification.
--- These `λ a b, _inst a b` terms also appear in the type of `A`, but simp doesn't get confused by
--- them so for now we do not care.
+-- These `fun a b ↦ _inst a b` terms also appear in the type of `A`, but simp doesn't get confused
+-- by them so for now we do not care.
 @[simp]
 theorem coe_toLinear : (@toLinear n ‹_› ‹_› _ _ A : (n → R) →ₗ[R] n → R) = Matrix.mulVecLin A :=
   rfl
doc: @[inherit_doc] on notations (#9942)

Make all the notations that unambiguously should inherit the docstring of their definition actually inherit it.

Also write a few docstrings by hand. I only wrote the ones I was competent to write and which I was sure of. Some docstrings come from mathlib3 as they were lost during the early port.

This PR is only intended as a first pass There are many more docstrings to add.

Diff
@@ -45,7 +45,7 @@ abbrev GeneralLinearGroup (n : Type u) (R : Type v) [DecidableEq n] [Fintype n]
   (Matrix n n R)ˣ
 #align matrix.general_linear_group Matrix.GeneralLinearGroup
 
-notation "GL" => GeneralLinearGroup
+@[inherit_doc] notation "GL" => GeneralLinearGroup
 
 namespace GeneralLinearGroup
 
style: shorten simps configurations (#8296)

Use .asFn and .lemmasOnly as simps configuration options.

For reference, these are defined here:

https://github.com/leanprover-community/mathlib4/blob/4055c8b471380825f07416b12cb0cf266da44d84/Mathlib/Tactic/Simps/Basic.lean#L843-L851

Diff
@@ -298,7 +298,7 @@ section Examples
 
 /-- The matrix [a, -b; b, a] (inspired by multiplication by a complex number); it is an element of
 $GL_2(R)$ if `a ^ 2 + b ^ 2` is nonzero. -/
-@[simps! (config := { fullyApplied := false }) val]
+@[simps! (config := .asFn) val]
 def planeConformalMatrix {R} [Field R] (a b : R) (hab : a ^ 2 + b ^ 2 ≠ 0) :
     Matrix.GeneralLinearGroup (Fin 2) R :=
   GeneralLinearGroup.mkOfDetNeZero !![a, -b; b, a] (by simpa [det_fin_two, sq] using hab)
fix: simps config for Units (#6514)
Diff
@@ -72,7 +72,7 @@ def det : GL n R →* Rˣ where
   map_one' := Units.ext det_one
   map_mul' A B := Units.ext <| det_mul _ _
 #align matrix.general_linear_group.det Matrix.GeneralLinearGroup.det
-#align matrix.general_linear_group.coe_det_apply Matrix.GeneralLinearGroup.det_apply_val
+#align matrix.general_linear_group.coe_det_apply Matrix.GeneralLinearGroup.val_det_apply
 
 /-- The `GL n R` and `Matrix.GeneralLinearGroup R n` groups are multiplicatively equivalent-/
 def toLin : GL n R ≃* LinearMap.GeneralLinearGroup R (n → R) :=
@@ -213,7 +213,7 @@ each element. -/
 instance : Neg (GLPos n R) :=
   ⟨fun g =>
     ⟨-g, by
-      rw [mem_glpos, GeneralLinearGroup.det_apply_val, Units.val_neg, det_neg,
+      rw [mem_glpos, GeneralLinearGroup.val_det_apply, Units.val_neg, det_neg,
         (Fact.out (p := Even <| Fintype.card n)).neg_one_pow, one_mul]
       exact g.prop⟩⟩
 
refactor(Data/Matrix): Eliminate notation in favor of HMul (#6487)

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

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

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

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

Diff
@@ -67,8 +67,8 @@ def det : GL n R →* Rˣ where
   toFun A :=
     { val := (↑A : Matrix n n R).det
       inv := (↑A⁻¹ : Matrix n n R).det
-      val_inv := by rw [← det_mul, ← mul_eq_mul, A.mul_inv, det_one]
-      inv_val := by rw [← det_mul, ← mul_eq_mul, A.inv_mul, det_one] }
+      val_inv := by rw [← det_mul, A.mul_inv, det_one]
+      inv_val := by rw [← det_mul, A.inv_mul, det_one] }
   map_one' := Units.ext det_one
   map_mul' A B := Units.ext <| det_mul _ _
 #align matrix.general_linear_group.det Matrix.GeneralLinearGroup.det
@@ -108,7 +108,7 @@ section CoeLemmas
 variable (A B : GL n R)
 
 @[simp]
-theorem coe_mul : ↑(A * B) = (↑A : Matrix n n R) ⬝ (↑B : Matrix n n R) :=
+theorem coe_mul : ↑(A * B) = (↑A : Matrix n n R) * (↑B : Matrix n n R) :=
   rfl
 #align matrix.general_linear_group.coe_mul Matrix.GeneralLinearGroup.coe_mul
 
chore: banish Type _ and Sort _ (#6499)

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

This has nice performance benefits.

Diff
@@ -90,7 +90,7 @@ noncomputable def mk'' (A : Matrix n n R) (h : IsUnit (Matrix.det A)) : GL n R :
 #align matrix.general_linear_group.mk'' Matrix.GeneralLinearGroup.mk''
 
 /-- Given a matrix with non-zero determinant over a field, we get an element of `GL n K`-/
-def mkOfDetNeZero {K : Type _} [Field K] (A : Matrix n n K) (h : Matrix.det A ≠ 0) : GL n K :=
+def mkOfDetNeZero {K : Type*} [Field K] (A : Matrix n n K) (h : Matrix.det A ≠ 0) : GL n K :=
   mk' A (invertibleOfNonzero h)
 #align matrix.general_linear_group.mk_of_det_ne_zero Matrix.GeneralLinearGroup.mkOfDetNeZero
 
chore: script to replace headers with #align_import statements (#5979)

Open in Gitpod

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

Diff
@@ -2,16 +2,13 @@
 Copyright (c) 2021 Chris Birkbeck. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Chris Birkbeck
-
-! This file was ported from Lean 3 source module linear_algebra.matrix.general_linear_group
-! leanprover-community/mathlib commit 2705404e701abc6b3127da906f40bae062a169c9
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathlib.LinearAlgebra.GeneralLinearGroup
 import Mathlib.LinearAlgebra.Matrix.NonsingularInverse
 import Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup
 
+#align_import linear_algebra.matrix.general_linear_group from "leanprover-community/mathlib"@"2705404e701abc6b3127da906f40bae062a169c9"
+
 /-!
 # The General Linear group $GL(n, R)$
 
feat: port Analysis.Complex.UpperHalfPlane.Basic (#4335)

Co-authored-by: Jireh Loreaux <loreaujy@gmail.com> Co-authored-by: Scott Morrison <scott.morrison@gmail.com> Co-authored-by: Johan Commelin <johan@commelin.net>

Diff
@@ -75,6 +75,7 @@ def det : GL n R →* Rˣ where
   map_one' := Units.ext det_one
   map_mul' A B := Units.ext <| det_mul _ _
 #align matrix.general_linear_group.det Matrix.GeneralLinearGroup.det
+#align matrix.general_linear_group.coe_det_apply Matrix.GeneralLinearGroup.det_apply_val
 
 /-- The `GL n R` and `Matrix.GeneralLinearGroup R n` groups are multiplicatively equivalent-/
 def toLin : GL n R ≃* LinearMap.GeneralLinearGroup R (n → R) :=
chore: fix many typos (#4535)

Run codespell Mathlib and keep some suggestions.

Diff
@@ -270,7 +270,7 @@ theorem toGLPos_injective : Function.Injective (toGLPos : SpecialLinearGroup n R
 set_option linter.uppercaseLean3 false in
 #align matrix.special_linear_group.to_GL_pos_injective Matrix.SpecialLinearGroup.toGLPos_injective
 
-/-- Coercing a `Matrix.SpecialLinearGroup` via `GL_pos` and `GL` is the same as coercing striaght to
+/-- Coercing a `Matrix.SpecialLinearGroup` via `GL_pos` and `GL` is the same as coercing straight to
 a matrix. -/
 @[simp]
 theorem coe_GLPos_coe_GL_coe_matrix (g : SpecialLinearGroup n R) :
chore: tidy various files (#4423)
Diff
@@ -15,7 +15,7 @@ import Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup
 /-!
 # The General Linear group $GL(n, R)$
 
-This file defines the elements of the General Linear group `general_linear_group n R`,
+This file defines the elements of the General Linear group `Matrix.GeneralLinearGroup n R`,
 consisting of all invertible `n` by `n` `R`-matrices.
 
 ## Main definitions
@@ -59,7 +59,7 @@ section CoeFnInstance
 -- Porting note: this instance was not the simp-normal form in mathlib3 but it is fine in mathlib4
 -- because coercions get unfolded.
 /-- This instance is here for convenience, but is not the simp-normal form. -/
-instance : CoeFun (GL n R) fun _ => n → n → R where
+instance instCoeFun : CoeFun (GL n R) fun _ => n → n → R where
   coe A := (A : Matrix n n R)
 
 end CoeFnInstance
@@ -76,7 +76,7 @@ def det : GL n R →* Rˣ where
   map_mul' A B := Units.ext <| det_mul _ _
 #align matrix.general_linear_group.det Matrix.GeneralLinearGroup.det
 
-/-- The `GL n R` and `general_linear_group R n` groups are multiplicatively equivalent-/
+/-- The `GL n R` and `Matrix.GeneralLinearGroup R n` groups are multiplicatively equivalent-/
 def toLin : GL n R ≃* LinearMap.GeneralLinearGroup R (n → R) :=
   Units.mapEquiv toLinAlgEquiv'.toMulEquiv
 #align matrix.general_linear_group.to_lin Matrix.GeneralLinearGroup.toLin
@@ -247,7 +247,7 @@ namespace SpecialLinearGroup
 
 variable {n : Type u} [DecidableEq n] [Fintype n] {R : Type v} [LinearOrderedCommRing R]
 
-/-- `special_linear_group n R` embeds into `GL_pos n R` -/
+/-- `Matrix.SpecialLinearGroup n R` embeds into `GL_pos n R` -/
 def toGLPos : SpecialLinearGroup n R →* GLPos n R where
   toFun A := ⟨(A : GL n R), show 0 < (↑A : Matrix n n R).det from A.prop.symm ▸ zero_lt_one⟩
   map_one' := Subtype.ext <| Units.ext <| rfl
@@ -270,8 +270,8 @@ theorem toGLPos_injective : Function.Injective (toGLPos : SpecialLinearGroup n R
 set_option linter.uppercaseLean3 false in
 #align matrix.special_linear_group.to_GL_pos_injective Matrix.SpecialLinearGroup.toGLPos_injective
 
-/-- Coercing a `special_linear_group` via `GL_pos` and `GL` is the same as coercing striaght to a
-matrix. -/
+/-- Coercing a `Matrix.SpecialLinearGroup` via `GL_pos` and `GL` is the same as coercing striaght to
+a matrix. -/
 @[simp]
 theorem coe_GLPos_coe_GL_coe_matrix (g : SpecialLinearGroup n R) :
     (↑(↑(↑g : GLPos n R) : GL n R) : Matrix n n R) = ↑g :=
feat: port LinearAlgebra.Matrix.GeneralLinearGroup (#4265)

Co-authored-by: Vierkantor <vierkantor@vierkantor.com>

Dependencies 8 + 581

582 files ported (98.6%)
242926 lines ported (98.7%)
Show graph

The unported dependencies are