linear_algebra.matrix.general_linear_group
⟷
Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup
The following section lists changes to this file in mathlib3 and mathlib4 that occured after the initial port. Most recent changes are shown first. Hovering over a commit will show all commits associated with the same mathlib3 commit.
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(last sync)
mathlib commit https://github.com/leanprover-community/mathlib/commit/ce64cd319bb6b3e82f31c2d38e79080d377be451
@@ -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"
mathlib commit https://github.com/leanprover-community/mathlib/commit/8ea5598db6caeddde6cb734aa179cc2408dbd345
@@ -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)$
mathlib commit https://github.com/leanprover-community/mathlib/commit/9fb8964792b4237dac6200193a0d533f1b3f7423
@@ -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 θ]`
mathlib commit https://github.com/leanprover-community/mathlib/commit/cca40788df1b8755d5baf17ab2f27dacc2e17acb
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -37,7 +37,7 @@ namespace Matrix
universe u v
-open Matrix
+open scoped Matrix
open LinearMap
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -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]
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -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) :=
mathlib commit https://github.com/leanprover-community/mathlib/commit/e1a18cad9cd462973d760af7de36b05776b8811c
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
Authors: 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.
mathlib commit https://github.com/leanprover-community/mathlib/commit/8d33f09cd7089ecf074b4791907588245aec5d1b
@@ -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]
mathlib commit https://github.com/leanprover-community/mathlib/commit/17ad94b4953419f3e3ce3e77da3239c62d1d09f0
@@ -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]
mathlib commit https://github.com/leanprover-community/mathlib/commit/17ad94b4953419f3e3ce3e77da3239c62d1d09f0
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/4c586d291f189eecb9d00581aeb3dd998ac34442
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/bd9851ca476957ea4549eb19b40e7b5ade9428cc
Order
ed 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>
@@ -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"
λ 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).
@@ -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
@[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.
@@ -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
Use .asFn
and .lemmasOnly
as simps
configuration options.
For reference, these are defined here:
@@ -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)
@@ -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⟩⟩
⬝
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).
@@ -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
Type _
and Sort _
(#6499)
We remove all possible occurences of Type _
and Sort _
in favor of Type*
and Sort*
.
This has nice performance benefits.
@@ -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
@@ -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)$
@@ -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) :=
@@ -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) :
@@ -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 :=
Co-authored-by: Vierkantor <vierkantor@vierkantor.com>
The unported dependencies are