algebra.category.Group.epi_monoMathlib.Algebra.Category.GroupCat.EpiMono

This file has been ported!

Changes since the initial port

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

Changes in mathlib3

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(last sync)

Changes in mathlib3port

mathlib3
mathlib3port
Diff
@@ -3,7 +3,7 @@ Copyright (c) 2022 Jujian Zhang. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Jujian Zhang
 -/
-import Algebra.Category.Group.EquivalenceGroupAddGroup
+import Algebra.Category.GroupCat.EquivalenceGroupAddGroup
 import GroupTheory.QuotientGroup
 
 #align_import algebra.category.Group.epi_mono from "leanprover-community/mathlib"@"781cb2eed038c4caf53bdbd8d20a95e5822d77df"
Diff
@@ -58,7 +58,7 @@ theorem range_eq_top_of_cancel {f : A →* B}
       one_mul]
     exact ⟨x, rfl⟩
   replace h : (QuotientGroup.mk' _).ker = (1 : B →* B ⧸ f.range).ker := by rw [h]
-  rwa [ker_one, QuotientGroup.ker_mk'] at h 
+  rwa [ker_one, QuotientGroup.ker_mk'] at h
 #align monoid_hom.range_eq_top_of_cancel MonoidHom.range_eq_top_of_cancel
 #align add_monoid_hom.range_eq_top_of_cancel AddMonoidHom.range_eq_top_of_cancel
 -/
@@ -174,10 +174,10 @@ theorem fromCoset_ne_of_nin_range {b : B} (hb : b ∉ f.range) :
       fromCoset ⟨f.range.carrier, ⟨1, one_leftCoset _⟩⟩ :=
   by
   intro r
-  simp only [Subtype.mk_eq_mk] at r 
-  change b *l f.range = f.range at r 
-  nth_rw 2 [show (f.range : Set B) = 1 *l f.range from (one_leftCoset _).symm] at r 
-  rw [leftCoset_eq_iff, mul_one] at r 
+  simp only [Subtype.mk_eq_mk] at r
+  change b *l f.range = f.range at r
+  nth_rw 2 [show (f.range : Set B) = 1 *l f.range from (one_leftCoset _).symm] at r
+  rw [leftCoset_eq_iff, mul_one] at r
   exact hb (inv_inv b ▸ Subgroup.inv_mem _ r)
 #align Group.surjective_of_epi_auxs.from_coset_ne_of_nin_range GroupCat.SurjectiveOfEpiAuxs.fromCoset_ne_of_nin_range
 -/
@@ -365,10 +365,10 @@ theorem g_ne_h (x : B) (hx : x ∉ f.range) : g ≠ h :=
   intro r
   replace r :=
     DFunLike.congr_fun (DFunLike.congr_fun r x) (from_coset ⟨f.range, ⟨1, one_leftCoset _⟩⟩)
-  rw [H, g_apply_from_coset, MonoidHom.coe_mk, tau] at r 
+  rw [H, g_apply_from_coset, MonoidHom.coe_mk, tau] at r
   simp only [MonoidHom.coe_range, Subtype.coe_mk, Equiv.symm_swap, Equiv.toFun_as_coe,
-    Equiv.coe_trans, Function.comp_apply] at r 
-  erw [Equiv.swap_apply_left, g_apply_infinity, Equiv.swap_apply_right] at r 
+    Equiv.coe_trans, Function.comp_apply] at r
+  erw [Equiv.swap_apply_left, g_apply_infinity, Equiv.swap_apply_right] at r
   exact from_coset_ne_of_nin_range _ hx r
 #align Group.surjective_of_epi_auxs.g_ne_h GroupCat.SurjectiveOfEpiAuxs.g_ne_h
 -/
@@ -379,7 +379,7 @@ end SurjectiveOfEpiAuxs
 theorem surjective_of_epi [Epi f] : Function.Surjective f :=
   by
   by_contra r
-  push_neg at r 
+  push_neg at r
   rcases r with ⟨b, hb⟩
   exact
     surjective_of_epi_auxs.g_ne_h f b (fun ⟨c, hc⟩ => hb _ hc)
@@ -413,7 +413,7 @@ theorem epi_iff_surjective : Epi f ↔ Function.Surjective f :=
     refine' ⟨_, Group_AddGroup_equivalence.inverse.epi_of_epi_map⟩
     intro e'
     apply Group_AddGroup_equivalence.inverse.map_epi
-  rwa [GroupCat.epi_iff_surjective] at i1 
+  rwa [GroupCat.epi_iff_surjective] at i1
 #align AddGroup.epi_iff_surjective AddGroupCat.epi_iff_surjective
 -/
 
@@ -432,8 +432,7 @@ variable {A B : GroupCat.{u}} (f : A ⟶ B)
 #print GroupCat.forget_groupCat_preserves_mono /-
 @[to_additive]
 instance forget_groupCat_preserves_mono : (forget GroupCat).PreservesMonomorphisms
-    where preserves X Y f e := by
-    rwa [mono_iff_injective, ← CategoryTheory.mono_iff_injective] at e 
+    where preserves X Y f e := by rwa [mono_iff_injective, ← CategoryTheory.mono_iff_injective] at e
 #align Group.forget_Group_preserves_mono GroupCat.forget_groupCat_preserves_mono
 #align AddGroup.forget_Group_preserves_mono AddGroupCat.forget_groupCat_preserves_mono
 -/
@@ -441,8 +440,7 @@ instance forget_groupCat_preserves_mono : (forget GroupCat).PreservesMonomorphis
 #print GroupCat.forget_groupCat_preserves_epi /-
 @[to_additive]
 instance forget_groupCat_preserves_epi : (forget GroupCat).PreservesEpimorphisms
-    where preserves X Y f e := by
-    rwa [epi_iff_surjective, ← CategoryTheory.epi_iff_surjective] at e 
+    where preserves X Y f e := by rwa [epi_iff_surjective, ← CategoryTheory.epi_iff_surjective] at e
 #align Group.forget_Group_preserves_epi GroupCat.forget_groupCat_preserves_epi
 #align AddGroup.forget_Group_preserves_epi AddGroupCat.forget_groupCat_preserves_epi
 -/
@@ -508,8 +506,7 @@ theorem epi_iff_surjective : Epi f ↔ Function.Surjective f := by
 #print CommGroupCat.forget_commGroupCat_preserves_mono /-
 @[to_additive]
 instance forget_commGroupCat_preserves_mono : (forget CommGroupCat).PreservesMonomorphisms
-    where preserves X Y f e := by
-    rwa [mono_iff_injective, ← CategoryTheory.mono_iff_injective] at e 
+    where preserves X Y f e := by rwa [mono_iff_injective, ← CategoryTheory.mono_iff_injective] at e
 #align CommGroup.forget_CommGroup_preserves_mono CommGroupCat.forget_commGroupCat_preserves_mono
 #align AddCommGroup.forget_CommGroup_preserves_mono AddCommGroupCat.forget_commGroupCat_preserves_mono
 -/
@@ -517,8 +514,7 @@ instance forget_commGroupCat_preserves_mono : (forget CommGroupCat).PreservesMon
 #print CommGroupCat.forget_commGroupCat_preserves_epi /-
 @[to_additive]
 instance forget_commGroupCat_preserves_epi : (forget CommGroupCat).PreservesEpimorphisms
-    where preserves X Y f e := by
-    rwa [epi_iff_surjective, ← CategoryTheory.epi_iff_surjective] at e 
+    where preserves X Y f e := by rwa [epi_iff_surjective, ← CategoryTheory.epi_iff_surjective] at e
 #align CommGroup.forget_CommGroup_preserves_epi CommGroupCat.forget_commGroupCat_preserves_epi
 #align AddCommGroup.forget_CommGroup_preserves_epi AddCommGroupCat.forget_commGroupCat_preserves_epi
 -/
Diff
@@ -348,13 +348,13 @@ theorem agree : f.range.carrier = {x | h x = g x} :=
       (g b) (from_coset ⟨f.range.carrier, ⟨1, one_leftCoset _⟩⟩) =
         from_coset ⟨b *l f.range.carrier, ⟨b, rfl⟩⟩ :=
       rfl
-    exact (from_coset_ne_of_nin_range _ r).symm (by rw [← eq1, ← eq2, FunLike.congr_fun hb])
+    exact (from_coset_ne_of_nin_range _ r).symm (by rw [← eq1, ← eq2, DFunLike.congr_fun hb])
 #align Group.surjective_of_epi_auxs.agree GroupCat.SurjectiveOfEpiAuxs.agree
 -/
 
 #print GroupCat.SurjectiveOfEpiAuxs.comp_eq /-
 theorem comp_eq : (f ≫ show B ⟶ GroupCat.of SX' from g) = f ≫ h :=
-  FunLike.ext _ _ fun a => by
+  DFunLike.ext _ _ fun a => by
     simp only [comp_apply, show h (f a) = _ from (by simp [← agree] : f a ∈ {b | h b = g b})]
 #align Group.surjective_of_epi_auxs.comp_eq GroupCat.SurjectiveOfEpiAuxs.comp_eq
 -/
@@ -364,7 +364,7 @@ theorem g_ne_h (x : B) (hx : x ∉ f.range) : g ≠ h :=
   by
   intro r
   replace r :=
-    FunLike.congr_fun (FunLike.congr_fun r x) (from_coset ⟨f.range, ⟨1, one_leftCoset _⟩⟩)
+    DFunLike.congr_fun (DFunLike.congr_fun r x) (from_coset ⟨f.range, ⟨1, one_leftCoset _⟩⟩)
   rw [H, g_apply_from_coset, MonoidHom.coe_mk, tau] at r 
   simp only [MonoidHom.coe_range, Subtype.coe_mk, Equiv.symm_swap, Equiv.toFun_as_coe,
     Equiv.coe_trans, Function.comp_apply] at r 
Diff
@@ -103,14 +103,14 @@ theorem mono_iff_injective : Mono f ↔ Function.Injective f :=
 
 namespace SurjectiveOfEpiAuxs
 
-local notation "X" => Set.range (Function.swap leftCoset f.range.carrier)
+local notation "X" => Set.range (Function.swap HSMul.hSMul f.range.carrier)
 
 #print GroupCat.SurjectiveOfEpiAuxs.XWithInfinity /-
 /-- Define `X'` to be the set of all left cosets with an extra point at "infinity".
 -/
 @[nolint has_nonempty_instance]
 inductive XWithInfinity
-  | from_coset : Set.range (Function.swap leftCoset f.range.carrier) → X_with_infinity
+  | from_coset : Set.range (Function.swap HSMul.hSMul f.range.carrier) → X_with_infinity
   | infinity : X_with_infinity
 #align Group.surjective_of_epi_auxs.X_with_infinity GroupCat.SurjectiveOfEpiAuxs.XWithInfinity
 -/
Diff
@@ -3,8 +3,8 @@ Copyright (c) 2022 Jujian Zhang. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Jujian Zhang
 -/
-import Mathbin.Algebra.Category.Group.EquivalenceGroupAddGroup
-import Mathbin.GroupTheory.QuotientGroup
+import Algebra.Category.Group.EquivalenceGroupAddGroup
+import GroupTheory.QuotientGroup
 
 #align_import algebra.category.Group.epi_mono from "leanprover-community/mathlib"@"781cb2eed038c4caf53bdbd8d20a95e5822d77df"
 
Diff
@@ -2,15 +2,12 @@
 Copyright (c) 2022 Jujian Zhang. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Jujian Zhang
-
-! This file was ported from Lean 3 source module algebra.category.Group.epi_mono
-! leanprover-community/mathlib commit 781cb2eed038c4caf53bdbd8d20a95e5822d77df
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathbin.Algebra.Category.Group.EquivalenceGroupAddGroup
 import Mathbin.GroupTheory.QuotientGroup
 
+#align_import algebra.category.Group.epi_mono from "leanprover-community/mathlib"@"781cb2eed038c4caf53bdbd8d20a95e5822d77df"
+
 /-!
 # Monomorphisms and epimorphisms in `Group`
 
Diff
@@ -35,11 +35,13 @@ section
 
 variable [Group A] [Group B]
 
+#print MonoidHom.ker_eq_bot_of_cancel /-
 @[to_additive AddMonoidHom.ker_eq_bot_of_cancel]
 theorem ker_eq_bot_of_cancel {f : A →* B} (h : ∀ u v : f.ker →* A, f.comp u = f.comp v → u = v) :
     f.ker = ⊥ := by simpa using _root_.congr_arg range (h f.ker.subtype 1 (by tidy))
 #align monoid_hom.ker_eq_bot_of_cancel MonoidHom.ker_eq_bot_of_cancel
 #align add_monoid_hom.ker_eq_bot_of_cancel AddMonoidHom.ker_eq_bot_of_cancel
+-/
 
 end
 
@@ -47,6 +49,7 @@ section
 
 variable [CommGroup A] [CommGroup B]
 
+#print MonoidHom.range_eq_top_of_cancel /-
 @[to_additive AddMonoidHom.range_eq_top_of_cancel]
 theorem range_eq_top_of_cancel {f : A →* B}
     (h : ∀ u v : B →* B ⧸ f.range, u.comp f = v.comp f → u = v) : f.range = ⊤ :=
@@ -61,6 +64,7 @@ theorem range_eq_top_of_cancel {f : A →* B}
   rwa [ker_one, QuotientGroup.ker_mk'] at h 
 #align monoid_hom.range_eq_top_of_cancel MonoidHom.range_eq_top_of_cancel
 #align add_monoid_hom.range_eq_top_of_cancel AddMonoidHom.range_eq_top_of_cancel
+-/
 
 end
 
@@ -74,29 +78,34 @@ namespace GroupCat
 
 variable {A B : GroupCat.{u}} (f : A ⟶ B)
 
+#print GroupCat.ker_eq_bot_of_mono /-
 @[to_additive AddGroupCat.ker_eq_bot_of_mono]
 theorem ker_eq_bot_of_mono [Mono f] : f.ker = ⊥ :=
   MonoidHom.ker_eq_bot_of_cancel fun u v =>
     (@cancel_mono _ _ _ _ _ f _ (show GroupCat.of f.ker ⟶ A from u) _).1
 #align Group.ker_eq_bot_of_mono GroupCat.ker_eq_bot_of_mono
 #align AddGroup.ker_eq_bot_of_mono AddGroupCat.ker_eq_bot_of_mono
+-/
 
+#print GroupCat.mono_iff_ker_eq_bot /-
 @[to_additive AddGroupCat.mono_iff_ker_eq_bot]
 theorem mono_iff_ker_eq_bot : Mono f ↔ f.ker = ⊥ :=
   ⟨fun h => @ker_eq_bot_of_mono f h, fun h =>
     ConcreteCategory.mono_of_injective _ <| (MonoidHom.ker_eq_bot_iff f).1 h⟩
 #align Group.mono_iff_ker_eq_bot GroupCat.mono_iff_ker_eq_bot
 #align AddGroup.mono_iff_ker_eq_bot AddGroupCat.mono_iff_ker_eq_bot
+-/
 
+#print GroupCat.mono_iff_injective /-
 @[to_additive AddGroupCat.mono_iff_injective]
 theorem mono_iff_injective : Mono f ↔ Function.Injective f :=
   Iff.trans (mono_iff_ker_eq_bot f) <| MonoidHom.ker_eq_bot_iff f
 #align Group.mono_iff_injective GroupCat.mono_iff_injective
 #align AddGroup.mono_iff_injective AddGroupCat.mono_iff_injective
+-/
 
 namespace SurjectiveOfEpiAuxs
 
--- mathport name: exprX
 local notation "X" => Set.range (Function.swap leftCoset f.range.carrier)
 
 #print GroupCat.SurjectiveOfEpiAuxs.XWithInfinity /-
@@ -113,13 +122,10 @@ open XWithInfinity Equiv.Perm
 
 open scoped Coset
 
--- mathport name: exprX'
 local notation "X'" => XWithInfinity f
 
--- mathport name: «expr∞»
 local notation "∞" => XWithInfinity.infinity
 
--- mathport name: exprSX'
 local notation "SX'" => Equiv.Perm X'
 
 instance : SMul B X'
@@ -132,6 +138,7 @@ instance : SMul B X'
           use b * y.2.some⟩
     | ∞ => ∞
 
+#print GroupCat.SurjectiveOfEpiAuxs.mul_smul /-
 theorem mul_smul (b b' : B) (x : X') : (b * b') • x = b • b' • x :=
   match x with
   | from_coset y => by
@@ -139,7 +146,9 @@ theorem mul_smul (b b' : B) (x : X') : (b * b') • x = b • b' • x :=
     simp only [← Subtype.val_eq_coe, leftCoset_assoc]
   | ∞ => rfl
 #align Group.surjective_of_epi_auxs.mul_smul GroupCat.SurjectiveOfEpiAuxs.mul_smul
+-/
 
+#print GroupCat.SurjectiveOfEpiAuxs.one_smul /-
 theorem one_smul (x : X') : (1 : B) • x = x :=
   match x with
   | from_coset y => by
@@ -147,7 +156,9 @@ theorem one_smul (x : X') : (1 : B) • x = x :=
     simp only [← Subtype.val_eq_coe, one_leftCoset, Subtype.ext_iff_val]
   | ∞ => rfl
 #align Group.surjective_of_epi_auxs.one_smul GroupCat.SurjectiveOfEpiAuxs.one_smul
+-/
 
+#print GroupCat.SurjectiveOfEpiAuxs.fromCoset_eq_of_mem_range /-
 theorem fromCoset_eq_of_mem_range {b : B} (hb : b ∈ f.range) :
     fromCoset ⟨b *l f.range.carrier, ⟨b, rfl⟩⟩ =
       fromCoset ⟨f.range.carrier, ⟨1, one_leftCoset _⟩⟩ :=
@@ -158,7 +169,9 @@ theorem fromCoset_eq_of_mem_range {b : B} (hb : b ∈ f.range) :
   rw [leftCoset_eq_iff, mul_one]
   exact Subgroup.inv_mem _ hb
 #align Group.surjective_of_epi_auxs.from_coset_eq_of_mem_range GroupCat.SurjectiveOfEpiAuxs.fromCoset_eq_of_mem_range
+-/
 
+#print GroupCat.SurjectiveOfEpiAuxs.fromCoset_ne_of_nin_range /-
 theorem fromCoset_ne_of_nin_range {b : B} (hb : b ∉ f.range) :
     fromCoset ⟨b *l f.range.carrier, ⟨b, rfl⟩⟩ ≠
       fromCoset ⟨f.range.carrier, ⟨1, one_leftCoset _⟩⟩ :=
@@ -170,6 +183,7 @@ theorem fromCoset_ne_of_nin_range {b : B} (hb : b ∉ f.range) :
   rw [leftCoset_eq_iff, mul_one] at r 
   exact hb (inv_inv b ▸ Subgroup.inv_mem _ r)
 #align Group.surjective_of_epi_auxs.from_coset_ne_of_nin_range GroupCat.SurjectiveOfEpiAuxs.fromCoset_ne_of_nin_range
+-/
 
 instance : DecidableEq X' :=
   Classical.decEq _
@@ -182,7 +196,6 @@ noncomputable def tau : SX' :=
 #align Group.surjective_of_epi_auxs.tau GroupCat.SurjectiveOfEpiAuxs.tau
 -/
 
--- mathport name: exprτ
 local notation "τ" => tau f
 
 #print GroupCat.SurjectiveOfEpiAuxs.τ_apply_infinity /-
@@ -236,7 +249,6 @@ def g : B →* SX'
 #align Group.surjective_of_epi_auxs.G GroupCat.SurjectiveOfEpiAuxs.g
 -/
 
--- mathport name: exprg
 local notation "g" => g f
 
 #print GroupCat.SurjectiveOfEpiAuxs.h /-
@@ -249,7 +261,6 @@ def h : B →* SX' where
 #align Group.surjective_of_epi_auxs.H GroupCat.SurjectiveOfEpiAuxs.h
 -/
 
--- mathport name: exprh
 local notation "h" => h f
 
 /-!
@@ -262,9 +273,11 @@ The strategy is the following: assuming `epi f`
 
 /- warning: Group.surjective_of_epi_auxs.g_apply_from_coset clashes with Group.surjective_of_epi_auxs.g_apply_fromCoset -> GroupCat.SurjectiveOfEpiAuxs.g_apply_fromCoset
 Case conversion may be inaccurate. Consider using '#align Group.surjective_of_epi_auxs.g_apply_from_coset GroupCat.SurjectiveOfEpiAuxs.g_apply_fromCosetₓ'. -/
+#print GroupCat.SurjectiveOfEpiAuxs.g_apply_fromCoset /-
 theorem g_apply_fromCoset (x : B) (y : X) : (g x) (fromCoset y) = fromCoset ⟨x *l y, by tidy⟩ :=
   rfl
 #align Group.surjective_of_epi_auxs.g_apply_from_coset GroupCat.SurjectiveOfEpiAuxs.g_apply_fromCoset
+-/
 
 #print GroupCat.SurjectiveOfEpiAuxs.g_apply_infinity /-
 theorem g_apply_infinity (x : B) : (g x) ∞ = ∞ :=
@@ -272,12 +285,14 @@ theorem g_apply_infinity (x : B) : (g x) ∞ = ∞ :=
 #align Group.surjective_of_epi_auxs.g_apply_infinity GroupCat.SurjectiveOfEpiAuxs.g_apply_infinity
 -/
 
+#print GroupCat.SurjectiveOfEpiAuxs.h_apply_infinity /-
 theorem h_apply_infinity (x : B) (hx : x ∈ f.range) : (h x) ∞ = ∞ :=
   by
   simp only [H, MonoidHom.coe_mk, Equiv.toFun_as_coe, Equiv.coe_trans, Function.comp_apply]
   rw [τ_symm_apply_infinity, g_apply_from_coset]
   simpa only [← Subtype.val_eq_coe] using τ_apply_from_coset' f x hx
 #align Group.surjective_of_epi_auxs.h_apply_infinity GroupCat.SurjectiveOfEpiAuxs.h_apply_infinity
+-/
 
 /- warning: Group.surjective_of_epi_auxs.h_apply_from_coset clashes with Group.surjective_of_epi_auxs.h_apply_fromCoset -> GroupCat.SurjectiveOfEpiAuxs.h_apply_fromCoset
 Case conversion may be inaccurate. Consider using '#align Group.surjective_of_epi_auxs.h_apply_from_coset GroupCat.SurjectiveOfEpiAuxs.h_apply_fromCosetₓ'. -/
@@ -297,6 +312,7 @@ theorem h_apply_from_coset' (x : B) (b : B) (hb : b ∈ f.range) :
 
 /- warning: Group.surjective_of_epi_auxs.h_apply_from_coset_nin_range clashes with Group.surjective_of_epi_auxs.h_apply_fromCoset_nin_range -> GroupCat.SurjectiveOfEpiAuxs.h_apply_fromCoset_nin_range
 Case conversion may be inaccurate. Consider using '#align Group.surjective_of_epi_auxs.h_apply_from_coset_nin_range GroupCat.SurjectiveOfEpiAuxs.h_apply_fromCoset_nin_rangeₓ'. -/
+#print GroupCat.SurjectiveOfEpiAuxs.h_apply_fromCoset_nin_range /-
 theorem h_apply_fromCoset_nin_range (x : B) (hx : x ∈ f.range) (b : B) (hb : b ∉ f.range) :
     (h x) (fromCoset ⟨b *l f.range.carrier, ⟨b, rfl⟩⟩) =
       fromCoset ⟨x * b *l f.range.carrier, ⟨x * b, rfl⟩⟩ :=
@@ -310,7 +326,9 @@ theorem h_apply_fromCoset_nin_range (x : B) (hx : x ∈ f.range) (b : B) (hb : b
   convert Subgroup.mul_mem _ (Subgroup.inv_mem _ hx) r
   rw [← mul_assoc, mul_left_inv, one_mul]
 #align Group.surjective_of_epi_auxs.h_apply_from_coset_nin_range GroupCat.SurjectiveOfEpiAuxs.h_apply_fromCoset_nin_range
+-/
 
+#print GroupCat.SurjectiveOfEpiAuxs.agree /-
 theorem agree : f.range.carrier = {x | h x = g x} :=
   by
   refine' Set.ext fun b => ⟨_, fun hb : h b = g b => by_contradiction fun r => _⟩
@@ -335,6 +353,7 @@ theorem agree : f.range.carrier = {x | h x = g x} :=
       rfl
     exact (from_coset_ne_of_nin_range _ r).symm (by rw [← eq1, ← eq2, FunLike.congr_fun hb])
 #align Group.surjective_of_epi_auxs.agree GroupCat.SurjectiveOfEpiAuxs.agree
+-/
 
 #print GroupCat.SurjectiveOfEpiAuxs.comp_eq /-
 theorem comp_eq : (f ≫ show B ⟶ GroupCat.of SX' from g) = f ≫ h :=
@@ -343,6 +362,7 @@ theorem comp_eq : (f ≫ show B ⟶ GroupCat.of SX' from g) = f ≫ h :=
 #align Group.surjective_of_epi_auxs.comp_eq GroupCat.SurjectiveOfEpiAuxs.comp_eq
 -/
 
+#print GroupCat.SurjectiveOfEpiAuxs.g_ne_h /-
 theorem g_ne_h (x : B) (hx : x ∉ f.range) : g ≠ h :=
   by
   intro r
@@ -354,9 +374,11 @@ theorem g_ne_h (x : B) (hx : x ∉ f.range) : g ≠ h :=
   erw [Equiv.swap_apply_left, g_apply_infinity, Equiv.swap_apply_right] at r 
   exact from_coset_ne_of_nin_range _ hx r
 #align Group.surjective_of_epi_auxs.g_ne_h GroupCat.SurjectiveOfEpiAuxs.g_ne_h
+-/
 
 end SurjectiveOfEpiAuxs
 
+#print GroupCat.surjective_of_epi /-
 theorem surjective_of_epi [Epi f] : Function.Surjective f :=
   by
   by_contra r
@@ -366,14 +388,19 @@ theorem surjective_of_epi [Epi f] : Function.Surjective f :=
     surjective_of_epi_auxs.g_ne_h f b (fun ⟨c, hc⟩ => hb _ hc)
       ((cancel_epi f).1 (surjective_of_epi_auxs.comp_eq f))
 #align Group.surjective_of_epi GroupCat.surjective_of_epi
+-/
 
+#print GroupCat.epi_iff_surjective /-
 theorem epi_iff_surjective : Epi f ↔ Function.Surjective f :=
   ⟨fun h => @surjective_of_epi f h, ConcreteCategory.epi_of_surjective _⟩
 #align Group.epi_iff_surjective GroupCat.epi_iff_surjective
+-/
 
+#print GroupCat.epi_iff_range_eq_top /-
 theorem epi_iff_range_eq_top : Epi f ↔ f.range = ⊤ :=
   Iff.trans (epi_iff_surjective _) (Subgroup.eq_top_iff' f.range).symm
 #align Group.epi_iff_range_eq_top GroupCat.epi_iff_range_eq_top
+-/
 
 end GroupCat
 
@@ -381,6 +408,7 @@ namespace AddGroupCat
 
 variable {A B : AddGroupCat.{u}} (f : A ⟶ B)
 
+#print AddGroupCat.epi_iff_surjective /-
 theorem epi_iff_surjective : Epi f ↔ Function.Surjective f :=
   by
   have i1 : epi f ↔ epi (Group_AddGroup_equivalence.inverse.map f) :=
@@ -390,10 +418,13 @@ theorem epi_iff_surjective : Epi f ↔ Function.Surjective f :=
     apply Group_AddGroup_equivalence.inverse.map_epi
   rwa [GroupCat.epi_iff_surjective] at i1 
 #align AddGroup.epi_iff_surjective AddGroupCat.epi_iff_surjective
+-/
 
+#print AddGroupCat.epi_iff_range_eq_top /-
 theorem epi_iff_range_eq_top : Epi f ↔ f.range = ⊤ :=
   Iff.trans (epi_iff_surjective _) (AddSubgroup.eq_top_iff' f.range).symm
 #align AddGroup.epi_iff_range_eq_top AddGroupCat.epi_iff_range_eq_top
+-/
 
 end AddGroupCat
 
@@ -425,45 +456,57 @@ namespace CommGroupCat
 
 variable {A B : CommGroupCat.{u}} (f : A ⟶ B)
 
+#print CommGroupCat.ker_eq_bot_of_mono /-
 @[to_additive AddCommGroupCat.ker_eq_bot_of_mono]
 theorem ker_eq_bot_of_mono [Mono f] : f.ker = ⊥ :=
   MonoidHom.ker_eq_bot_of_cancel fun u v =>
     (@cancel_mono _ _ _ _ _ f _ (show CommGroupCat.of f.ker ⟶ A from u) _).1
 #align CommGroup.ker_eq_bot_of_mono CommGroupCat.ker_eq_bot_of_mono
 #align AddCommGroup.ker_eq_bot_of_mono AddCommGroupCat.ker_eq_bot_of_mono
+-/
 
+#print CommGroupCat.mono_iff_ker_eq_bot /-
 @[to_additive AddCommGroupCat.mono_iff_ker_eq_bot]
 theorem mono_iff_ker_eq_bot : Mono f ↔ f.ker = ⊥ :=
   ⟨fun h => @ker_eq_bot_of_mono f h, fun h =>
     ConcreteCategory.mono_of_injective _ <| (MonoidHom.ker_eq_bot_iff f).1 h⟩
 #align CommGroup.mono_iff_ker_eq_bot CommGroupCat.mono_iff_ker_eq_bot
 #align AddCommGroup.mono_iff_ker_eq_bot AddCommGroupCat.mono_iff_ker_eq_bot
+-/
 
+#print CommGroupCat.mono_iff_injective /-
 @[to_additive AddCommGroupCat.mono_iff_injective]
 theorem mono_iff_injective : Mono f ↔ Function.Injective f :=
   Iff.trans (mono_iff_ker_eq_bot f) <| MonoidHom.ker_eq_bot_iff f
 #align CommGroup.mono_iff_injective CommGroupCat.mono_iff_injective
 #align AddCommGroup.mono_iff_injective AddCommGroupCat.mono_iff_injective
+-/
 
+#print CommGroupCat.range_eq_top_of_epi /-
 @[to_additive]
 theorem range_eq_top_of_epi [Epi f] : f.range = ⊤ :=
   MonoidHom.range_eq_top_of_cancel fun u v h =>
     (@cancel_epi _ _ _ _ _ f _ (show B ⟶ ⟨B ⧸ MonoidHom.range f⟩ from u) v).1 h
 #align CommGroup.range_eq_top_of_epi CommGroupCat.range_eq_top_of_epi
 #align AddCommGroup.range_eq_top_of_epi AddCommGroupCat.range_eq_top_of_epi
+-/
 
+#print CommGroupCat.epi_iff_range_eq_top /-
 @[to_additive]
 theorem epi_iff_range_eq_top : Epi f ↔ f.range = ⊤ :=
   ⟨fun hf => range_eq_top_of_epi _, fun hf =>
     ConcreteCategory.epi_of_surjective _ <| MonoidHom.range_top_iff_surjective.mp hf⟩
 #align CommGroup.epi_iff_range_eq_top CommGroupCat.epi_iff_range_eq_top
 #align AddCommGroup.epi_iff_range_eq_top AddCommGroupCat.epi_iff_range_eq_top
+-/
 
+#print CommGroupCat.epi_iff_surjective /-
 @[to_additive]
 theorem epi_iff_surjective : Epi f ↔ Function.Surjective f := by
   rw [epi_iff_range_eq_top, MonoidHom.range_top_iff_surjective]
 #align CommGroup.epi_iff_surjective CommGroupCat.epi_iff_surjective
 #align AddCommGroup.epi_iff_surjective AddCommGroupCat.epi_iff_surjective
+-/
 
 #print CommGroupCat.forget_commGroupCat_preserves_mono /-
 @[to_additive]
Diff
@@ -311,7 +311,7 @@ theorem h_apply_fromCoset_nin_range (x : B) (hx : x ∈ f.range) (b : B) (hb : b
   rw [← mul_assoc, mul_left_inv, one_mul]
 #align Group.surjective_of_epi_auxs.h_apply_from_coset_nin_range GroupCat.SurjectiveOfEpiAuxs.h_apply_fromCoset_nin_range
 
-theorem agree : f.range.carrier = { x | h x = g x } :=
+theorem agree : f.range.carrier = {x | h x = g x} :=
   by
   refine' Set.ext fun b => ⟨_, fun hb : h b = g b => by_contradiction fun r => _⟩
   · rintro ⟨a, rfl⟩
@@ -339,7 +339,7 @@ theorem agree : f.range.carrier = { x | h x = g x } :=
 #print GroupCat.SurjectiveOfEpiAuxs.comp_eq /-
 theorem comp_eq : (f ≫ show B ⟶ GroupCat.of SX' from g) = f ≫ h :=
   FunLike.ext _ _ fun a => by
-    simp only [comp_apply, show h (f a) = _ from (by simp [← agree] : f a ∈ { b | h b = g b })]
+    simp only [comp_apply, show h (f a) = _ from (by simp [← agree] : f a ∈ {b | h b = g b})]
 #align Group.surjective_of_epi_auxs.comp_eq GroupCat.SurjectiveOfEpiAuxs.comp_eq
 -/
 
@@ -360,7 +360,7 @@ end SurjectiveOfEpiAuxs
 theorem surjective_of_epi [Epi f] : Function.Surjective f :=
   by
   by_contra r
-  push_neg  at r 
+  push_neg at r 
   rcases r with ⟨b, hb⟩
   exact
     surjective_of_epi_auxs.g_ne_h f b (fun ⟨c, hc⟩ => hb _ hc)
Diff
@@ -58,7 +58,7 @@ theorem range_eq_top_of_cancel {f : A →* B}
       one_mul]
     exact ⟨x, rfl⟩
   replace h : (QuotientGroup.mk' _).ker = (1 : B →* B ⧸ f.range).ker := by rw [h]
-  rwa [ker_one, QuotientGroup.ker_mk'] at h
+  rwa [ker_one, QuotientGroup.ker_mk'] at h 
 #align monoid_hom.range_eq_top_of_cancel MonoidHom.range_eq_top_of_cancel
 #align add_monoid_hom.range_eq_top_of_cancel AddMonoidHom.range_eq_top_of_cancel
 
@@ -164,10 +164,10 @@ theorem fromCoset_ne_of_nin_range {b : B} (hb : b ∉ f.range) :
       fromCoset ⟨f.range.carrier, ⟨1, one_leftCoset _⟩⟩ :=
   by
   intro r
-  simp only [Subtype.mk_eq_mk] at r
-  change b *l f.range = f.range at r
-  nth_rw 2 [show (f.range : Set B) = 1 *l f.range from (one_leftCoset _).symm] at r
-  rw [leftCoset_eq_iff, mul_one] at r
+  simp only [Subtype.mk_eq_mk] at r 
+  change b *l f.range = f.range at r 
+  nth_rw 2 [show (f.range : Set B) = 1 *l f.range from (one_leftCoset _).symm] at r 
+  rw [leftCoset_eq_iff, mul_one] at r 
   exact hb (inv_inv b ▸ Subgroup.inv_mem _ r)
 #align Group.surjective_of_epi_auxs.from_coset_ne_of_nin_range GroupCat.SurjectiveOfEpiAuxs.fromCoset_ne_of_nin_range
 
@@ -348,10 +348,10 @@ theorem g_ne_h (x : B) (hx : x ∉ f.range) : g ≠ h :=
   intro r
   replace r :=
     FunLike.congr_fun (FunLike.congr_fun r x) (from_coset ⟨f.range, ⟨1, one_leftCoset _⟩⟩)
-  rw [H, g_apply_from_coset, MonoidHom.coe_mk, tau] at r
+  rw [H, g_apply_from_coset, MonoidHom.coe_mk, tau] at r 
   simp only [MonoidHom.coe_range, Subtype.coe_mk, Equiv.symm_swap, Equiv.toFun_as_coe,
-    Equiv.coe_trans, Function.comp_apply] at r
-  erw [Equiv.swap_apply_left, g_apply_infinity, Equiv.swap_apply_right] at r
+    Equiv.coe_trans, Function.comp_apply] at r 
+  erw [Equiv.swap_apply_left, g_apply_infinity, Equiv.swap_apply_right] at r 
   exact from_coset_ne_of_nin_range _ hx r
 #align Group.surjective_of_epi_auxs.g_ne_h GroupCat.SurjectiveOfEpiAuxs.g_ne_h
 
@@ -360,7 +360,7 @@ end SurjectiveOfEpiAuxs
 theorem surjective_of_epi [Epi f] : Function.Surjective f :=
   by
   by_contra r
-  push_neg  at r
+  push_neg  at r 
   rcases r with ⟨b, hb⟩
   exact
     surjective_of_epi_auxs.g_ne_h f b (fun ⟨c, hc⟩ => hb _ hc)
@@ -388,7 +388,7 @@ theorem epi_iff_surjective : Epi f ↔ Function.Surjective f :=
     refine' ⟨_, Group_AddGroup_equivalence.inverse.epi_of_epi_map⟩
     intro e'
     apply Group_AddGroup_equivalence.inverse.map_epi
-  rwa [GroupCat.epi_iff_surjective] at i1
+  rwa [GroupCat.epi_iff_surjective] at i1 
 #align AddGroup.epi_iff_surjective AddGroupCat.epi_iff_surjective
 
 theorem epi_iff_range_eq_top : Epi f ↔ f.range = ⊤ :=
@@ -404,7 +404,8 @@ variable {A B : GroupCat.{u}} (f : A ⟶ B)
 #print GroupCat.forget_groupCat_preserves_mono /-
 @[to_additive]
 instance forget_groupCat_preserves_mono : (forget GroupCat).PreservesMonomorphisms
-    where preserves X Y f e := by rwa [mono_iff_injective, ← CategoryTheory.mono_iff_injective] at e
+    where preserves X Y f e := by
+    rwa [mono_iff_injective, ← CategoryTheory.mono_iff_injective] at e 
 #align Group.forget_Group_preserves_mono GroupCat.forget_groupCat_preserves_mono
 #align AddGroup.forget_Group_preserves_mono AddGroupCat.forget_groupCat_preserves_mono
 -/
@@ -412,7 +413,8 @@ instance forget_groupCat_preserves_mono : (forget GroupCat).PreservesMonomorphis
 #print GroupCat.forget_groupCat_preserves_epi /-
 @[to_additive]
 instance forget_groupCat_preserves_epi : (forget GroupCat).PreservesEpimorphisms
-    where preserves X Y f e := by rwa [epi_iff_surjective, ← CategoryTheory.epi_iff_surjective] at e
+    where preserves X Y f e := by
+    rwa [epi_iff_surjective, ← CategoryTheory.epi_iff_surjective] at e 
 #align Group.forget_Group_preserves_epi GroupCat.forget_groupCat_preserves_epi
 #align AddGroup.forget_Group_preserves_epi AddGroupCat.forget_groupCat_preserves_epi
 -/
@@ -466,7 +468,8 @@ theorem epi_iff_surjective : Epi f ↔ Function.Surjective f := by
 #print CommGroupCat.forget_commGroupCat_preserves_mono /-
 @[to_additive]
 instance forget_commGroupCat_preserves_mono : (forget CommGroupCat).PreservesMonomorphisms
-    where preserves X Y f e := by rwa [mono_iff_injective, ← CategoryTheory.mono_iff_injective] at e
+    where preserves X Y f e := by
+    rwa [mono_iff_injective, ← CategoryTheory.mono_iff_injective] at e 
 #align CommGroup.forget_CommGroup_preserves_mono CommGroupCat.forget_commGroupCat_preserves_mono
 #align AddCommGroup.forget_CommGroup_preserves_mono AddCommGroupCat.forget_commGroupCat_preserves_mono
 -/
@@ -474,7 +477,8 @@ instance forget_commGroupCat_preserves_mono : (forget CommGroupCat).PreservesMon
 #print CommGroupCat.forget_commGroupCat_preserves_epi /-
 @[to_additive]
 instance forget_commGroupCat_preserves_epi : (forget CommGroupCat).PreservesEpimorphisms
-    where preserves X Y f e := by rwa [epi_iff_surjective, ← CategoryTheory.epi_iff_surjective] at e
+    where preserves X Y f e := by
+    rwa [epi_iff_surjective, ← CategoryTheory.epi_iff_surjective] at e 
 #align CommGroup.forget_CommGroup_preserves_epi CommGroupCat.forget_commGroupCat_preserves_epi
 #align AddCommGroup.forget_CommGroup_preserves_epi AddCommGroupCat.forget_commGroupCat_preserves_epi
 -/
Diff
@@ -111,7 +111,7 @@ inductive XWithInfinity
 
 open XWithInfinity Equiv.Perm
 
-open Coset
+open scoped Coset
 
 -- mathport name: exprX'
 local notation "X'" => XWithInfinity f
Diff
@@ -35,9 +35,6 @@ section
 
 variable [Group A] [Group B]
 
-/- warning: monoid_hom.ker_eq_bot_of_cancel -> MonoidHom.ker_eq_bot_of_cancel is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align monoid_hom.ker_eq_bot_of_cancel MonoidHom.ker_eq_bot_of_cancelₓ'. -/
 @[to_additive AddMonoidHom.ker_eq_bot_of_cancel]
 theorem ker_eq_bot_of_cancel {f : A →* B} (h : ∀ u v : f.ker →* A, f.comp u = f.comp v → u = v) :
     f.ker = ⊥ := by simpa using _root_.congr_arg range (h f.ker.subtype 1 (by tidy))
@@ -50,9 +47,6 @@ section
 
 variable [CommGroup A] [CommGroup B]
 
-/- warning: monoid_hom.range_eq_top_of_cancel -> MonoidHom.range_eq_top_of_cancel is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align monoid_hom.range_eq_top_of_cancel MonoidHom.range_eq_top_of_cancelₓ'. -/
 @[to_additive AddMonoidHom.range_eq_top_of_cancel]
 theorem range_eq_top_of_cancel {f : A →* B}
     (h : ∀ u v : B →* B ⧸ f.range, u.comp f = v.comp f → u = v) : f.range = ⊤ :=
@@ -80,12 +74,6 @@ namespace GroupCat
 
 variable {A B : GroupCat.{u}} (f : A ⟶ B)
 
-/- warning: Group.ker_eq_bot_of_mono -> GroupCat.ker_eq_bot_of_mono is a dubious translation:
-lean 3 declaration is
-  forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1})) A B) [_inst_1 : CategoryTheory.Mono.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1} A B f], Eq.{succ u1} (Subgroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A)) (MonoidHom.ker.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (CategoryTheory.Bundled.str.{u1, u1} Group.{u1} B))) f) (Bot.bot.{u1} (Subgroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A)) (Subgroup.hasBot.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A)))
-but is expected to have type
-  forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} instGroupCatLargeCategory.{u1})) A B) [_inst_1 : CategoryTheory.Mono.{u1, succ u1} GroupCat.{u1} instGroupCatLargeCategory.{u1} A B f], Eq.{succ u1} (Subgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A)) (MonoidHom.ker.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) ((fun {α : Type.{u1}} (h : Group.{u1} α) => DivInvMonoid.toMonoid.{u1} α (Group.toDivInvMonoid.{u1} α h)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (CategoryTheory.Bundled.str.{u1, u1} Group.{u1} B))) f) (Bot.bot.{u1} (Subgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A)) (Subgroup.instBotSubgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A)))
-Case conversion may be inaccurate. Consider using '#align Group.ker_eq_bot_of_mono GroupCat.ker_eq_bot_of_monoₓ'. -/
 @[to_additive AddGroupCat.ker_eq_bot_of_mono]
 theorem ker_eq_bot_of_mono [Mono f] : f.ker = ⊥ :=
   MonoidHom.ker_eq_bot_of_cancel fun u v =>
@@ -93,12 +81,6 @@ theorem ker_eq_bot_of_mono [Mono f] : f.ker = ⊥ :=
 #align Group.ker_eq_bot_of_mono GroupCat.ker_eq_bot_of_mono
 #align AddGroup.ker_eq_bot_of_mono AddGroupCat.ker_eq_bot_of_mono
 
-/- warning: Group.mono_iff_ker_eq_bot -> GroupCat.mono_iff_ker_eq_bot is a dubious translation:
-lean 3 declaration is
-  forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1})) A B), Iff (CategoryTheory.Mono.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1} A B f) (Eq.{succ u1} (Subgroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A)) (MonoidHom.ker.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (CategoryTheory.Bundled.str.{u1, u1} Group.{u1} B))) f) (Bot.bot.{u1} (Subgroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A)) (Subgroup.hasBot.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A))))
-but is expected to have type
-  forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} instGroupCatLargeCategory.{u1})) A B), Iff (CategoryTheory.Mono.{u1, succ u1} GroupCat.{u1} instGroupCatLargeCategory.{u1} A B f) (Eq.{succ u1} (Subgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A)) (MonoidHom.ker.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) ((fun {α : Type.{u1}} (h : Group.{u1} α) => DivInvMonoid.toMonoid.{u1} α (Group.toDivInvMonoid.{u1} α h)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (CategoryTheory.Bundled.str.{u1, u1} Group.{u1} B))) f) (Bot.bot.{u1} (Subgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A)) (Subgroup.instBotSubgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A))))
-Case conversion may be inaccurate. Consider using '#align Group.mono_iff_ker_eq_bot GroupCat.mono_iff_ker_eq_botₓ'. -/
 @[to_additive AddGroupCat.mono_iff_ker_eq_bot]
 theorem mono_iff_ker_eq_bot : Mono f ↔ f.ker = ⊥ :=
   ⟨fun h => @ker_eq_bot_of_mono f h, fun h =>
@@ -106,12 +88,6 @@ theorem mono_iff_ker_eq_bot : Mono f ↔ f.ker = ⊥ :=
 #align Group.mono_iff_ker_eq_bot GroupCat.mono_iff_ker_eq_bot
 #align AddGroup.mono_iff_ker_eq_bot AddGroupCat.mono_iff_ker_eq_bot
 
-/- warning: Group.mono_iff_injective -> GroupCat.mono_iff_injective is a dubious translation:
-lean 3 declaration is
-  forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1})) A B), Iff (CategoryTheory.Mono.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1} A B f) (Function.Injective.{succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1})) A B) (fun (_x : MonoidHom.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (Group.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (CategoryTheory.Bundled.str.{u1, u1} Group.{u1} A))) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (CategoryTheory.Bundled.str.{u1, u1} Group.{u1} B)))) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (MonoidHom.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (Group.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (CategoryTheory.Bundled.str.{u1, u1} Group.{u1} A))) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (CategoryTheory.Bundled.str.{u1, u1} Group.{u1} B)))) f))
-but is expected to have type
-  forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} instGroupCatLargeCategory.{u1})) A B), Iff (CategoryTheory.Mono.{u1, succ u1} GroupCat.{u1} instGroupCatLargeCategory.{u1} A B f) (Function.Injective.{succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (FunLike.coe.{succ u1, succ u1, succ u1} (MonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A)))) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (fun (_x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) => CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) _x) (MulHomClass.toFunLike.{u1, u1, u1} (MonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A)))) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A))))) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (MonoidHomClass.toMulHomClass.{u1, u1, u1} (MonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A)))) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A)))) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (MonoidHom.monoidHomClass.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A)))) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))))) f))
-Case conversion may be inaccurate. Consider using '#align Group.mono_iff_injective GroupCat.mono_iff_injectiveₓ'. -/
 @[to_additive AddGroupCat.mono_iff_injective]
 theorem mono_iff_injective : Mono f ↔ Function.Injective f :=
   Iff.trans (mono_iff_ker_eq_bot f) <| MonoidHom.ker_eq_bot_iff f
@@ -156,12 +132,6 @@ instance : SMul B X'
           use b * y.2.some⟩
     | ∞ => ∞
 
-/- warning: Group.surjective_of_epi_auxs.mul_smul -> GroupCat.SurjectiveOfEpiAuxs.mul_smul is a dubious translation:
-lean 3 declaration is
-  forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1})) A B) (b : coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (b' : coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (x : GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f), Eq.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (SMul.smul.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.hasSmul.{u1} A B f) (HMul.hMul.{u1, u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (instHMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (GroupCat.group.{u1} B)))))) b b') x) (SMul.smul.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.hasSmul.{u1} A B f) b (SMul.smul.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.hasSmul.{u1} A B f) b' x))
-but is expected to have type
-  forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} instGroupCatLargeCategory.{u1})) A B) (b : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (b' : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (x : GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f), Eq.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (HSMul.hSMul.{u1, u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (instHSMul.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.instSMulαGroupXWithInfinity.{u1} A B f)) (HMul.hMul.{u1, u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (instHMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) b b') x) (HSMul.hSMul.{u1, u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (instHSMul.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.instSMulαGroupXWithInfinity.{u1} A B f)) b (HSMul.hSMul.{u1, u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (instHSMul.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.instSMulαGroupXWithInfinity.{u1} A B f)) b' x))
-Case conversion may be inaccurate. Consider using '#align Group.surjective_of_epi_auxs.mul_smul GroupCat.SurjectiveOfEpiAuxs.mul_smulₓ'. -/
 theorem mul_smul (b b' : B) (x : X') : (b * b') • x = b • b' • x :=
   match x with
   | from_coset y => by
@@ -170,12 +140,6 @@ theorem mul_smul (b b' : B) (x : X') : (b * b') • x = b • b' • x :=
   | ∞ => rfl
 #align Group.surjective_of_epi_auxs.mul_smul GroupCat.SurjectiveOfEpiAuxs.mul_smul
 
-/- warning: Group.surjective_of_epi_auxs.one_smul -> GroupCat.SurjectiveOfEpiAuxs.one_smul is a dubious translation:
-lean 3 declaration is
-  forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1})) A B) (x : GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f), Eq.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (SMul.smul.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.hasSmul.{u1} A B f) (OfNat.ofNat.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) 1 (OfNat.mk.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) 1 (One.one.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (MulOneClass.toHasOne.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (GroupCat.group.{u1} B)))))))) x) x
-but is expected to have type
-  forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} instGroupCatLargeCategory.{u1})) A B) (x : GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f), Eq.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (HSMul.hSMul.{u1, u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (instHSMul.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.instSMulαGroupXWithInfinity.{u1} A B f)) (OfNat.ofNat.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) 1 (One.toOfNat1.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (InvOneClass.toOne.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvOneMonoid.toInvOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivisionMonoid.toDivInvOneMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivisionMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))))) x) x
-Case conversion may be inaccurate. Consider using '#align Group.surjective_of_epi_auxs.one_smul GroupCat.SurjectiveOfEpiAuxs.one_smulₓ'. -/
 theorem one_smul (x : X') : (1 : B) • x = x :=
   match x with
   | from_coset y => by
@@ -184,9 +148,6 @@ theorem one_smul (x : X') : (1 : B) • x = x :=
   | ∞ => rfl
 #align Group.surjective_of_epi_auxs.one_smul GroupCat.SurjectiveOfEpiAuxs.one_smul
 
-/- warning: Group.surjective_of_epi_auxs.from_coset_eq_of_mem_range -> GroupCat.SurjectiveOfEpiAuxs.fromCoset_eq_of_mem_range is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align Group.surjective_of_epi_auxs.from_coset_eq_of_mem_range GroupCat.SurjectiveOfEpiAuxs.fromCoset_eq_of_mem_rangeₓ'. -/
 theorem fromCoset_eq_of_mem_range {b : B} (hb : b ∈ f.range) :
     fromCoset ⟨b *l f.range.carrier, ⟨b, rfl⟩⟩ =
       fromCoset ⟨f.range.carrier, ⟨1, one_leftCoset _⟩⟩ :=
@@ -198,9 +159,6 @@ theorem fromCoset_eq_of_mem_range {b : B} (hb : b ∈ f.range) :
   exact Subgroup.inv_mem _ hb
 #align Group.surjective_of_epi_auxs.from_coset_eq_of_mem_range GroupCat.SurjectiveOfEpiAuxs.fromCoset_eq_of_mem_range
 
-/- warning: Group.surjective_of_epi_auxs.from_coset_ne_of_nin_range -> GroupCat.SurjectiveOfEpiAuxs.fromCoset_ne_of_nin_range is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align Group.surjective_of_epi_auxs.from_coset_ne_of_nin_range GroupCat.SurjectiveOfEpiAuxs.fromCoset_ne_of_nin_rangeₓ'. -/
 theorem fromCoset_ne_of_nin_range {b : B} (hb : b ∉ f.range) :
     fromCoset ⟨b *l f.range.carrier, ⟨b, rfl⟩⟩ ≠
       fromCoset ⟨f.range.carrier, ⟨1, one_leftCoset _⟩⟩ :=
@@ -303,8 +261,6 @@ The strategy is the following: assuming `epi f`
 
 
 /- warning: Group.surjective_of_epi_auxs.g_apply_from_coset clashes with Group.surjective_of_epi_auxs.g_apply_fromCoset -> GroupCat.SurjectiveOfEpiAuxs.g_apply_fromCoset
-warning: Group.surjective_of_epi_auxs.g_apply_from_coset -> GroupCat.SurjectiveOfEpiAuxs.g_apply_fromCoset is a dubious translation:
-<too large>
 Case conversion may be inaccurate. Consider using '#align Group.surjective_of_epi_auxs.g_apply_from_coset GroupCat.SurjectiveOfEpiAuxs.g_apply_fromCosetₓ'. -/
 theorem g_apply_fromCoset (x : B) (y : X) : (g x) (fromCoset y) = fromCoset ⟨x *l y, by tidy⟩ :=
   rfl
@@ -316,9 +272,6 @@ theorem g_apply_infinity (x : B) : (g x) ∞ = ∞ :=
 #align Group.surjective_of_epi_auxs.g_apply_infinity GroupCat.SurjectiveOfEpiAuxs.g_apply_infinity
 -/
 
-/- warning: Group.surjective_of_epi_auxs.h_apply_infinity -> GroupCat.SurjectiveOfEpiAuxs.h_apply_infinity is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align Group.surjective_of_epi_auxs.h_apply_infinity GroupCat.SurjectiveOfEpiAuxs.h_apply_infinityₓ'. -/
 theorem h_apply_infinity (x : B) (hx : x ∈ f.range) : (h x) ∞ = ∞ :=
   by
   simp only [H, MonoidHom.coe_mk, Equiv.toFun_as_coe, Equiv.coe_trans, Function.comp_apply]
@@ -343,8 +296,6 @@ theorem h_apply_from_coset' (x : B) (b : B) (hb : b ∈ f.range) :
 #align Group.surjective_of_epi_auxs.h_apply_from_coset' GroupCat.SurjectiveOfEpiAuxs.h_apply_from_coset'
 
 /- warning: Group.surjective_of_epi_auxs.h_apply_from_coset_nin_range clashes with Group.surjective_of_epi_auxs.h_apply_fromCoset_nin_range -> GroupCat.SurjectiveOfEpiAuxs.h_apply_fromCoset_nin_range
-warning: Group.surjective_of_epi_auxs.h_apply_from_coset_nin_range -> GroupCat.SurjectiveOfEpiAuxs.h_apply_fromCoset_nin_range is a dubious translation:
-<too large>
 Case conversion may be inaccurate. Consider using '#align Group.surjective_of_epi_auxs.h_apply_from_coset_nin_range GroupCat.SurjectiveOfEpiAuxs.h_apply_fromCoset_nin_rangeₓ'. -/
 theorem h_apply_fromCoset_nin_range (x : B) (hx : x ∈ f.range) (b : B) (hb : b ∉ f.range) :
     (h x) (fromCoset ⟨b *l f.range.carrier, ⟨b, rfl⟩⟩) =
@@ -360,9 +311,6 @@ theorem h_apply_fromCoset_nin_range (x : B) (hx : x ∈ f.range) (b : B) (hb : b
   rw [← mul_assoc, mul_left_inv, one_mul]
 #align Group.surjective_of_epi_auxs.h_apply_from_coset_nin_range GroupCat.SurjectiveOfEpiAuxs.h_apply_fromCoset_nin_range
 
-/- warning: Group.surjective_of_epi_auxs.agree -> GroupCat.SurjectiveOfEpiAuxs.agree is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align Group.surjective_of_epi_auxs.agree GroupCat.SurjectiveOfEpiAuxs.agreeₓ'. -/
 theorem agree : f.range.carrier = { x | h x = g x } :=
   by
   refine' Set.ext fun b => ⟨_, fun hb : h b = g b => by_contradiction fun r => _⟩
@@ -395,12 +343,6 @@ theorem comp_eq : (f ≫ show B ⟶ GroupCat.of SX' from g) = f ≫ h :=
 #align Group.surjective_of_epi_auxs.comp_eq GroupCat.SurjectiveOfEpiAuxs.comp_eq
 -/
 
-/- warning: Group.surjective_of_epi_auxs.g_ne_h -> GroupCat.SurjectiveOfEpiAuxs.g_ne_h is a dubious translation:
-lean 3 declaration is
-  forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1})) A B) (x : coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B), (Not (Membership.Mem.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Subgroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)) (SetLike.hasMem.{u1, u1} (Subgroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Subgroup.setLike.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B))) x (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))) -> (Ne.{succ u1} (MonoidHom.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (GroupCat.group.{u1} B)))) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (GroupCat.SurjectiveOfEpiAuxs.g.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.h.{u1} A B f))
-but is expected to have type
-  forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} instGroupCatLargeCategory.{u1})) A B) (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B), (Not (Membership.mem.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Subgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)) (SetLike.instMembership.{u1, u1} (Subgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Subgroup.instSetLikeSubgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))) x (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))) -> (Ne.{succ u1} (MonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (GroupCat.SurjectiveOfEpiAuxs.g.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.h.{u1} A B f))
-Case conversion may be inaccurate. Consider using '#align Group.surjective_of_epi_auxs.g_ne_h GroupCat.SurjectiveOfEpiAuxs.g_ne_hₓ'. -/
 theorem g_ne_h (x : B) (hx : x ∉ f.range) : g ≠ h :=
   by
   intro r
@@ -415,12 +357,6 @@ theorem g_ne_h (x : B) (hx : x ∉ f.range) : g ≠ h :=
 
 end SurjectiveOfEpiAuxs
 
-/- warning: Group.surjective_of_epi -> GroupCat.surjective_of_epi is a dubious translation:
-lean 3 declaration is
-  forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1})) A B) [_inst_1 : CategoryTheory.Epi.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1} A B f], Function.Surjective.{succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1})) A B) (fun (_x : MonoidHom.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (Group.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (CategoryTheory.Bundled.str.{u1, u1} Group.{u1} A))) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (CategoryTheory.Bundled.str.{u1, u1} Group.{u1} B)))) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (MonoidHom.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (Group.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (CategoryTheory.Bundled.str.{u1, u1} Group.{u1} A))) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (CategoryTheory.Bundled.str.{u1, u1} Group.{u1} B)))) f)
-but is expected to have type
-  forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} instGroupCatLargeCategory.{u1})) A B) [_inst_1 : CategoryTheory.Epi.{u1, succ u1} GroupCat.{u1} instGroupCatLargeCategory.{u1} A B f], Function.Surjective.{succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (FunLike.coe.{succ u1, succ u1, succ u1} (MonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A)))) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (fun (_x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) => CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) _x) (MulHomClass.toFunLike.{u1, u1, u1} (MonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A)))) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A))))) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (MonoidHomClass.toMulHomClass.{u1, u1, u1} (MonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A)))) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A)))) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (MonoidHom.monoidHomClass.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A)))) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))))) f)
-Case conversion may be inaccurate. Consider using '#align Group.surjective_of_epi GroupCat.surjective_of_epiₓ'. -/
 theorem surjective_of_epi [Epi f] : Function.Surjective f :=
   by
   by_contra r
@@ -431,22 +367,10 @@ theorem surjective_of_epi [Epi f] : Function.Surjective f :=
       ((cancel_epi f).1 (surjective_of_epi_auxs.comp_eq f))
 #align Group.surjective_of_epi GroupCat.surjective_of_epi
 
-/- warning: Group.epi_iff_surjective -> GroupCat.epi_iff_surjective is a dubious translation:
-lean 3 declaration is
-  forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1})) A B), Iff (CategoryTheory.Epi.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1} A B f) (Function.Surjective.{succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1})) A B) (fun (_x : MonoidHom.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (Group.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (CategoryTheory.Bundled.str.{u1, u1} Group.{u1} A))) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (CategoryTheory.Bundled.str.{u1, u1} Group.{u1} B)))) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (MonoidHom.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (Group.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (CategoryTheory.Bundled.str.{u1, u1} Group.{u1} A))) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (CategoryTheory.Bundled.str.{u1, u1} Group.{u1} B)))) f))
-but is expected to have type
-  forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} instGroupCatLargeCategory.{u1})) A B), Iff (CategoryTheory.Epi.{u1, succ u1} GroupCat.{u1} instGroupCatLargeCategory.{u1} A B f) (Function.Surjective.{succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (FunLike.coe.{succ u1, succ u1, succ u1} (MonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A)))) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (fun (_x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) => CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) _x) (MulHomClass.toFunLike.{u1, u1, u1} (MonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A)))) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A))))) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (MonoidHomClass.toMulHomClass.{u1, u1, u1} (MonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A)))) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A)))) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (MonoidHom.monoidHomClass.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A)))) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))))) f))
-Case conversion may be inaccurate. Consider using '#align Group.epi_iff_surjective GroupCat.epi_iff_surjectiveₓ'. -/
 theorem epi_iff_surjective : Epi f ↔ Function.Surjective f :=
   ⟨fun h => @surjective_of_epi f h, ConcreteCategory.epi_of_surjective _⟩
 #align Group.epi_iff_surjective GroupCat.epi_iff_surjective
 
-/- warning: Group.epi_iff_range_eq_top -> GroupCat.epi_iff_range_eq_top is a dubious translation:
-lean 3 declaration is
-  forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1})) A B), Iff (CategoryTheory.Epi.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1} A B f) (Eq.{succ u1} (Subgroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f) (Top.top.{u1} (Subgroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)) (Subgroup.hasTop.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B))))
-but is expected to have type
-  forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} instGroupCatLargeCategory.{u1})) A B), Iff (CategoryTheory.Epi.{u1, succ u1} GroupCat.{u1} instGroupCatLargeCategory.{u1} A B f) (Eq.{succ u1} (Subgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f) (Top.top.{u1} (Subgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)) (Subgroup.instTopSubgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))
-Case conversion may be inaccurate. Consider using '#align Group.epi_iff_range_eq_top GroupCat.epi_iff_range_eq_topₓ'. -/
 theorem epi_iff_range_eq_top : Epi f ↔ f.range = ⊤ :=
   Iff.trans (epi_iff_surjective _) (Subgroup.eq_top_iff' f.range).symm
 #align Group.epi_iff_range_eq_top GroupCat.epi_iff_range_eq_top
@@ -457,12 +381,6 @@ namespace AddGroupCat
 
 variable {A B : AddGroupCat.{u}} (f : A ⟶ B)
 
-/- warning: AddGroup.epi_iff_surjective -> AddGroupCat.epi_iff_surjective is a dubious translation:
-lean 3 declaration is
-  forall {A : AddGroupCat.{u1}} {B : AddGroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} AddGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddGroupCat.{u1} AddGroupCat.largeCategory.{u1})) A B), Iff (CategoryTheory.Epi.{u1, succ u1} AddGroupCat.{u1} AddGroupCat.largeCategory.{u1} A B f) (Function.Surjective.{succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddGroup.{u1}) A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddGroup.{u1}) B) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} AddGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddGroupCat.{u1} AddGroupCat.largeCategory.{u1})) A B) (fun (_x : AddMonoidHom.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddGroup.{u1}) A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddGroup.{u1}) B) (AddMonoid.toAddZeroClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddGroup.{u1}) A) (AddGroup.toAddMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddGroup.{u1}) A) (CategoryTheory.Bundled.str.{u1, u1} AddGroup.{u1} A))) (AddMonoid.toAddZeroClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddGroup.{u1}) B) (AddGroup.toAddMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddGroup.{u1}) B) (CategoryTheory.Bundled.str.{u1, u1} AddGroup.{u1} B)))) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddGroup.{u1}) A) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddGroup.{u1}) B)) (AddMonoidHom.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddGroup.{u1}) A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddGroup.{u1}) B) (AddMonoid.toAddZeroClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddGroup.{u1}) A) (AddGroup.toAddMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddGroup.{u1}) A) (CategoryTheory.Bundled.str.{u1, u1} AddGroup.{u1} A))) (AddMonoid.toAddZeroClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddGroup.{u1}) B) (AddGroup.toAddMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddGroup.{u1}) B) (CategoryTheory.Bundled.str.{u1, u1} AddGroup.{u1} B)))) f))
-but is expected to have type
-  forall {A : AddGroupCat.{u1}} {B : AddGroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} AddGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddGroupCat.{u1} instAddGroupCatLargeCategory.{u1})) A B), Iff (CategoryTheory.Epi.{u1, succ u1} AddGroupCat.{u1} instAddGroupCatLargeCategory.{u1} A B f) (Function.Surjective.{succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) (FunLike.coe.{succ u1, succ u1, succ u1} (AddMonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} A) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} A) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} A) (AddGroupCat.instGroupα.{u1} A)))) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) (AddGroupCat.instGroupα.{u1} B))))) (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} A) (fun (_x : CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} A) => CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) _x) (AddHomClass.toFunLike.{u1, u1, u1} (AddMonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} A) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} A) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} A) (AddGroupCat.instGroupα.{u1} A)))) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) (AddGroupCat.instGroupα.{u1} B))))) (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) (AddZeroClass.toAdd.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} A) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} A) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} A) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} A) (AddGroupCat.instGroupα.{u1} A))))) (AddZeroClass.toAdd.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) (AddGroupCat.instGroupα.{u1} B))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (AddMonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} A) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} A) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} A) (AddGroupCat.instGroupα.{u1} A)))) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) (AddGroupCat.instGroupα.{u1} B))))) (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} A) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} A) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} A) (AddGroupCat.instGroupα.{u1} A)))) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) (AddGroupCat.instGroupα.{u1} B)))) (AddMonoidHom.addMonoidHomClass.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} A) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} A) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} A) (AddGroupCat.instGroupα.{u1} A)))) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) (AddGroupCat.instGroupα.{u1} B))))))) f))
-Case conversion may be inaccurate. Consider using '#align AddGroup.epi_iff_surjective AddGroupCat.epi_iff_surjectiveₓ'. -/
 theorem epi_iff_surjective : Epi f ↔ Function.Surjective f :=
   by
   have i1 : epi f ↔ epi (Group_AddGroup_equivalence.inverse.map f) :=
@@ -473,12 +391,6 @@ theorem epi_iff_surjective : Epi f ↔ Function.Surjective f :=
   rwa [GroupCat.epi_iff_surjective] at i1
 #align AddGroup.epi_iff_surjective AddGroupCat.epi_iff_surjective
 
-/- warning: AddGroup.epi_iff_range_eq_top -> AddGroupCat.epi_iff_range_eq_top is a dubious translation:
-lean 3 declaration is
-  forall {A : AddGroupCat.{u1}} {B : AddGroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} AddGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddGroupCat.{u1} AddGroupCat.largeCategory.{u1})) A B), Iff (CategoryTheory.Epi.{u1, succ u1} AddGroupCat.{u1} AddGroupCat.largeCategory.{u1} A B f) (Eq.{succ u1} (AddSubgroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddGroup.{u1}) B) (AddGroupCat.addGroup.{u1} B)) (AddMonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddGroup.{u1}) A) (AddGroupCat.addGroup.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddGroup.{u1}) B) (AddGroupCat.addGroup.{u1} B) f) (Top.top.{u1} (AddSubgroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddGroup.{u1}) B) (AddGroupCat.addGroup.{u1} B)) (AddSubgroup.hasTop.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddGroup.{u1}) B) (AddGroupCat.addGroup.{u1} B))))
-but is expected to have type
-  forall {A : AddGroupCat.{u1}} {B : AddGroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} AddGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddGroupCat.{u1} instAddGroupCatLargeCategory.{u1})) A B), Iff (CategoryTheory.Epi.{u1, succ u1} AddGroupCat.{u1} instAddGroupCatLargeCategory.{u1} A B f) (Eq.{succ u1} (AddSubgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) (AddGroupCat.instGroupα_1.{u1} B)) (AddMonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} A) (AddGroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) (AddGroupCat.instGroupα_1.{u1} B) f) (Top.top.{u1} (AddSubgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) (AddGroupCat.instGroupα_1.{u1} B)) (AddSubgroup.instTopAddSubgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) (AddGroupCat.instGroupα_1.{u1} B))))
-Case conversion may be inaccurate. Consider using '#align AddGroup.epi_iff_range_eq_top AddGroupCat.epi_iff_range_eq_topₓ'. -/
 theorem epi_iff_range_eq_top : Epi f ↔ f.range = ⊤ :=
   Iff.trans (epi_iff_surjective _) (AddSubgroup.eq_top_iff' f.range).symm
 #align AddGroup.epi_iff_range_eq_top AddGroupCat.epi_iff_range_eq_top
@@ -511,12 +423,6 @@ namespace CommGroupCat
 
 variable {A B : CommGroupCat.{u}} (f : A ⟶ B)
 
-/- warning: CommGroup.ker_eq_bot_of_mono -> CommGroupCat.ker_eq_bot_of_mono is a dubious translation:
-lean 3 declaration is
-  forall {A : CommGroupCat.{u1}} {B : CommGroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} CommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} CommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} CommGroupCat.{u1} CommGroupCat.largeCategory.{u1})) A B) [_inst_1 : CategoryTheory.Mono.{u1, succ u1} CommGroupCat.{u1} CommGroupCat.largeCategory.{u1} A B f], Eq.{succ u1} (Subgroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (CommGroup.toGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (CommGroupCat.commGroupInstance.{u1} A))) (MonoidHom.ker.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (CommGroup.toGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (CommGroupCat.commGroupInstance.{u1} A)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (Group.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (CommGroup.toGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (CategoryTheory.Bundled.str.{u1, u1} CommGroup.{u1} B)))) f) (Bot.bot.{u1} (Subgroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (CommGroup.toGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (CommGroupCat.commGroupInstance.{u1} A))) (Subgroup.hasBot.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (CommGroup.toGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (CommGroupCat.commGroupInstance.{u1} A))))
-but is expected to have type
-  forall {A : CommGroupCat.{u1}} {B : CommGroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} CommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} CommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} CommGroupCat.{u1} instCommGroupCatLargeCategory.{u1})) A B) [_inst_1 : CategoryTheory.Mono.{u1, succ u1} CommGroupCat.{u1} instCommGroupCatLargeCategory.{u1} A B f], Eq.{succ u1} (Subgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (_private.Mathlib.Algebra.Category.GroupCat.EpiMono.0.CommGroupCat.instGroupαCommGroup.{u1} A)) (MonoidHom.ker.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (_private.Mathlib.Algebra.Category.GroupCat.EpiMono.0.CommGroupCat.instGroupαCommGroup.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) ((fun {α : Type.{u1}} (h : Group.{u1} α) => DivInvMonoid.toMonoid.{u1} α (Group.toDivInvMonoid.{u1} α h)) (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (CommGroup.toGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (CategoryTheory.Bundled.str.{u1, u1} CommGroup.{u1} B)))) f) (Bot.bot.{u1} (Subgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (_private.Mathlib.Algebra.Category.GroupCat.EpiMono.0.CommGroupCat.instGroupαCommGroup.{u1} A)) (Subgroup.instBotSubgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (_private.Mathlib.Algebra.Category.GroupCat.EpiMono.0.CommGroupCat.instGroupαCommGroup.{u1} A)))
-Case conversion may be inaccurate. Consider using '#align CommGroup.ker_eq_bot_of_mono CommGroupCat.ker_eq_bot_of_monoₓ'. -/
 @[to_additive AddCommGroupCat.ker_eq_bot_of_mono]
 theorem ker_eq_bot_of_mono [Mono f] : f.ker = ⊥ :=
   MonoidHom.ker_eq_bot_of_cancel fun u v =>
@@ -524,12 +430,6 @@ theorem ker_eq_bot_of_mono [Mono f] : f.ker = ⊥ :=
 #align CommGroup.ker_eq_bot_of_mono CommGroupCat.ker_eq_bot_of_mono
 #align AddCommGroup.ker_eq_bot_of_mono AddCommGroupCat.ker_eq_bot_of_mono
 
-/- warning: CommGroup.mono_iff_ker_eq_bot -> CommGroupCat.mono_iff_ker_eq_bot is a dubious translation:
-lean 3 declaration is
-  forall {A : CommGroupCat.{u1}} {B : CommGroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} CommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} CommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} CommGroupCat.{u1} CommGroupCat.largeCategory.{u1})) A B), Iff (CategoryTheory.Mono.{u1, succ u1} CommGroupCat.{u1} CommGroupCat.largeCategory.{u1} A B f) (Eq.{succ u1} (Subgroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (CommGroup.toGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (CommGroupCat.commGroupInstance.{u1} A))) (MonoidHom.ker.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (CommGroup.toGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (CommGroupCat.commGroupInstance.{u1} A)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (Group.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (CommGroup.toGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (CategoryTheory.Bundled.str.{u1, u1} CommGroup.{u1} B)))) f) (Bot.bot.{u1} (Subgroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (CommGroup.toGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (CommGroupCat.commGroupInstance.{u1} A))) (Subgroup.hasBot.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (CommGroup.toGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (CommGroupCat.commGroupInstance.{u1} A)))))
-but is expected to have type
-  forall {A : CommGroupCat.{u1}} {B : CommGroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} CommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} CommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} CommGroupCat.{u1} instCommGroupCatLargeCategory.{u1})) A B), Iff (CategoryTheory.Mono.{u1, succ u1} CommGroupCat.{u1} instCommGroupCatLargeCategory.{u1} A B f) (Eq.{succ u1} (Subgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (_private.Mathlib.Algebra.Category.GroupCat.EpiMono.0.CommGroupCat.instGroupαCommGroup.{u1} A)) (MonoidHom.ker.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (_private.Mathlib.Algebra.Category.GroupCat.EpiMono.0.CommGroupCat.instGroupαCommGroup.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) ((fun {α : Type.{u1}} (h : Group.{u1} α) => DivInvMonoid.toMonoid.{u1} α (Group.toDivInvMonoid.{u1} α h)) (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (CommGroup.toGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (CategoryTheory.Bundled.str.{u1, u1} CommGroup.{u1} B)))) f) (Bot.bot.{u1} (Subgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (_private.Mathlib.Algebra.Category.GroupCat.EpiMono.0.CommGroupCat.instGroupαCommGroup.{u1} A)) (Subgroup.instBotSubgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (_private.Mathlib.Algebra.Category.GroupCat.EpiMono.0.CommGroupCat.instGroupαCommGroup.{u1} A))))
-Case conversion may be inaccurate. Consider using '#align CommGroup.mono_iff_ker_eq_bot CommGroupCat.mono_iff_ker_eq_botₓ'. -/
 @[to_additive AddCommGroupCat.mono_iff_ker_eq_bot]
 theorem mono_iff_ker_eq_bot : Mono f ↔ f.ker = ⊥ :=
   ⟨fun h => @ker_eq_bot_of_mono f h, fun h =>
@@ -537,21 +437,12 @@ theorem mono_iff_ker_eq_bot : Mono f ↔ f.ker = ⊥ :=
 #align CommGroup.mono_iff_ker_eq_bot CommGroupCat.mono_iff_ker_eq_bot
 #align AddCommGroup.mono_iff_ker_eq_bot AddCommGroupCat.mono_iff_ker_eq_bot
 
-/- warning: CommGroup.mono_iff_injective -> CommGroupCat.mono_iff_injective is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align CommGroup.mono_iff_injective CommGroupCat.mono_iff_injectiveₓ'. -/
 @[to_additive AddCommGroupCat.mono_iff_injective]
 theorem mono_iff_injective : Mono f ↔ Function.Injective f :=
   Iff.trans (mono_iff_ker_eq_bot f) <| MonoidHom.ker_eq_bot_iff f
 #align CommGroup.mono_iff_injective CommGroupCat.mono_iff_injective
 #align AddCommGroup.mono_iff_injective AddCommGroupCat.mono_iff_injective
 
-/- warning: CommGroup.range_eq_top_of_epi -> CommGroupCat.range_eq_top_of_epi is a dubious translation:
-lean 3 declaration is
-  forall {A : CommGroupCat.{u1}} {B : CommGroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} CommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} CommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} CommGroupCat.{u1} CommGroupCat.largeCategory.{u1})) A B) [_inst_1 : CategoryTheory.Epi.{u1, succ u1} CommGroupCat.{u1} CommGroupCat.largeCategory.{u1} A B f], Eq.{succ u1} (Subgroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (CommGroup.toGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (CommGroupCat.commGroupInstance.{u1} B))) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (CommGroup.toGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (CommGroupCat.commGroupInstance.{u1} A)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (CommGroup.toGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (CommGroupCat.commGroupInstance.{u1} B)) f) (Top.top.{u1} (Subgroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (CommGroup.toGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (CommGroupCat.commGroupInstance.{u1} B))) (Subgroup.hasTop.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (CommGroup.toGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (CommGroupCat.commGroupInstance.{u1} B))))
-but is expected to have type
-  forall {A : CommGroupCat.{u1}} {B : CommGroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} CommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} CommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} CommGroupCat.{u1} instCommGroupCatLargeCategory.{u1})) A B) [_inst_1 : CategoryTheory.Epi.{u1, succ u1} CommGroupCat.{u1} instCommGroupCatLargeCategory.{u1} A B f], Eq.{succ u1} (Subgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EpiMono.0.CommGroupCat.instGroupαCommGroup.{u1} B)) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (_private.Mathlib.Algebra.Category.GroupCat.EpiMono.0.CommGroupCat.instGroupαCommGroup.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EpiMono.0.CommGroupCat.instGroupαCommGroup.{u1} B) f) (Top.top.{u1} (Subgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EpiMono.0.CommGroupCat.instGroupαCommGroup.{u1} B)) (Subgroup.instTopSubgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EpiMono.0.CommGroupCat.instGroupαCommGroup.{u1} B)))
-Case conversion may be inaccurate. Consider using '#align CommGroup.range_eq_top_of_epi CommGroupCat.range_eq_top_of_epiₓ'. -/
 @[to_additive]
 theorem range_eq_top_of_epi [Epi f] : f.range = ⊤ :=
   MonoidHom.range_eq_top_of_cancel fun u v h =>
@@ -559,12 +450,6 @@ theorem range_eq_top_of_epi [Epi f] : f.range = ⊤ :=
 #align CommGroup.range_eq_top_of_epi CommGroupCat.range_eq_top_of_epi
 #align AddCommGroup.range_eq_top_of_epi AddCommGroupCat.range_eq_top_of_epi
 
-/- warning: CommGroup.epi_iff_range_eq_top -> CommGroupCat.epi_iff_range_eq_top is a dubious translation:
-lean 3 declaration is
-  forall {A : CommGroupCat.{u1}} {B : CommGroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} CommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} CommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} CommGroupCat.{u1} CommGroupCat.largeCategory.{u1})) A B), Iff (CategoryTheory.Epi.{u1, succ u1} CommGroupCat.{u1} CommGroupCat.largeCategory.{u1} A B f) (Eq.{succ u1} (Subgroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (CommGroup.toGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (CommGroupCat.commGroupInstance.{u1} B))) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (CommGroup.toGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (CommGroupCat.commGroupInstance.{u1} A)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (CommGroup.toGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (CommGroupCat.commGroupInstance.{u1} B)) f) (Top.top.{u1} (Subgroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (CommGroup.toGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (CommGroupCat.commGroupInstance.{u1} B))) (Subgroup.hasTop.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (CommGroup.toGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (CommGroupCat.commGroupInstance.{u1} B)))))
-but is expected to have type
-  forall {A : CommGroupCat.{u1}} {B : CommGroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} CommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} CommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} CommGroupCat.{u1} instCommGroupCatLargeCategory.{u1})) A B), Iff (CategoryTheory.Epi.{u1, succ u1} CommGroupCat.{u1} instCommGroupCatLargeCategory.{u1} A B f) (Eq.{succ u1} (Subgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EpiMono.0.CommGroupCat.instGroupαCommGroup.{u1} B)) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (_private.Mathlib.Algebra.Category.GroupCat.EpiMono.0.CommGroupCat.instGroupαCommGroup.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EpiMono.0.CommGroupCat.instGroupαCommGroup.{u1} B) f) (Top.top.{u1} (Subgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EpiMono.0.CommGroupCat.instGroupαCommGroup.{u1} B)) (Subgroup.instTopSubgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EpiMono.0.CommGroupCat.instGroupαCommGroup.{u1} B))))
-Case conversion may be inaccurate. Consider using '#align CommGroup.epi_iff_range_eq_top CommGroupCat.epi_iff_range_eq_topₓ'. -/
 @[to_additive]
 theorem epi_iff_range_eq_top : Epi f ↔ f.range = ⊤ :=
   ⟨fun hf => range_eq_top_of_epi _, fun hf =>
@@ -572,9 +457,6 @@ theorem epi_iff_range_eq_top : Epi f ↔ f.range = ⊤ :=
 #align CommGroup.epi_iff_range_eq_top CommGroupCat.epi_iff_range_eq_top
 #align AddCommGroup.epi_iff_range_eq_top AddCommGroupCat.epi_iff_range_eq_top
 
-/- warning: CommGroup.epi_iff_surjective -> CommGroupCat.epi_iff_surjective is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align CommGroup.epi_iff_surjective CommGroupCat.epi_iff_surjectiveₓ'. -/
 @[to_additive]
 theorem epi_iff_surjective : Epi f ↔ Function.Surjective f := by
   rw [epi_iff_range_eq_top, MonoidHom.range_top_iff_surjective]
Diff
@@ -271,18 +271,10 @@ def g : B →* SX'
   toFun β :=
     { toFun := fun x => β • x
       invFun := fun x => β⁻¹ • x
-      left_inv := fun x => by
-        dsimp only
-        rw [← mul_smul, mul_left_inv, one_smul]
-      right_inv := fun x => by
-        dsimp only
-        rw [← mul_smul, mul_right_inv, one_smul] }
-  map_one' := by
-    ext
-    simp [one_smul]
-  map_mul' b1 b2 := by
-    ext
-    simp [mul_smul]
+      left_inv := fun x => by dsimp only; rw [← mul_smul, mul_left_inv, one_smul]
+      right_inv := fun x => by dsimp only; rw [← mul_smul, mul_right_inv, one_smul] }
+  map_one' := by ext; simp [one_smul]
+  map_mul' b1 b2 := by ext; simp [mul_smul]
 #align Group.surjective_of_epi_auxs.G GroupCat.SurjectiveOfEpiAuxs.g
 -/
 
@@ -294,12 +286,8 @@ local notation "g" => g f
 -/
 def h : B →* SX' where
   toFun β := (τ.symm.trans (g β)).trans τ
-  map_one' := by
-    ext
-    simp
-  map_mul' b1 b2 := by
-    ext
-    simp
+  map_one' := by ext; simp
+  map_mul' b1 b2 := by ext; simp
 #align Group.surjective_of_epi_auxs.H GroupCat.SurjectiveOfEpiAuxs.h
 -/
 
Diff
@@ -36,10 +36,7 @@ section
 variable [Group A] [Group B]
 
 /- warning: monoid_hom.ker_eq_bot_of_cancel -> MonoidHom.ker_eq_bot_of_cancel is a dubious translation:
-lean 3 declaration is
-  forall {A : Type.{u1}} {B : Type.{u2}} [_inst_1 : Group.{u1} A] [_inst_2 : Group.{u2} B] {f : MonoidHom.{u1, u2} A B (Monoid.toMulOneClass.{u1} A (DivInvMonoid.toMonoid.{u1} A (Group.toDivInvMonoid.{u1} A _inst_1))) (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B _inst_2)))}, (forall (u : MonoidHom.{u1, u1} (coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} A _inst_1) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} A _inst_1) A (Subgroup.setLike.{u1} A _inst_1)) (MonoidHom.ker.{u1, u2} A _inst_1 B (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B _inst_2))) f)) A (Monoid.toMulOneClass.{u1} (coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} A _inst_1) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} A _inst_1) A (Subgroup.setLike.{u1} A _inst_1)) (MonoidHom.ker.{u1, u2} A _inst_1 B (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B _inst_2))) f)) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} A _inst_1) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} A _inst_1) A (Subgroup.setLike.{u1} A _inst_1)) (MonoidHom.ker.{u1, u2} A _inst_1 B (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B _inst_2))) f)) (Group.toDivInvMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} A _inst_1) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} A _inst_1) A (Subgroup.setLike.{u1} A _inst_1)) (MonoidHom.ker.{u1, u2} A _inst_1 B (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B _inst_2))) f)) (Subgroup.toGroup.{u1} A _inst_1 (MonoidHom.ker.{u1, u2} A _inst_1 B (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B _inst_2))) f))))) (Monoid.toMulOneClass.{u1} A (DivInvMonoid.toMonoid.{u1} A (Group.toDivInvMonoid.{u1} A _inst_1)))) (v : MonoidHom.{u1, u1} (coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} A _inst_1) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} A _inst_1) A (Subgroup.setLike.{u1} A _inst_1)) (MonoidHom.ker.{u1, u2} A _inst_1 B (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B _inst_2))) f)) A (Monoid.toMulOneClass.{u1} (coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} A _inst_1) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} A _inst_1) A (Subgroup.setLike.{u1} A _inst_1)) (MonoidHom.ker.{u1, u2} A _inst_1 B (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B _inst_2))) f)) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} A _inst_1) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} A _inst_1) A (Subgroup.setLike.{u1} A _inst_1)) (MonoidHom.ker.{u1, u2} A _inst_1 B (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B _inst_2))) f)) (Group.toDivInvMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} A _inst_1) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} A _inst_1) A (Subgroup.setLike.{u1} A _inst_1)) (MonoidHom.ker.{u1, u2} A _inst_1 B (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B _inst_2))) f)) (Subgroup.toGroup.{u1} A _inst_1 (MonoidHom.ker.{u1, u2} A _inst_1 B (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B _inst_2))) f))))) (Monoid.toMulOneClass.{u1} A (DivInvMonoid.toMonoid.{u1} A (Group.toDivInvMonoid.{u1} A _inst_1)))), (Eq.{max (succ u2) (succ u1)} (MonoidHom.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} A _inst_1) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} A _inst_1) A (Subgroup.setLike.{u1} A _inst_1)) (MonoidHom.ker.{u1, u2} A _inst_1 B (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B _inst_2))) f)) B (Monoid.toMulOneClass.{u1} (coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} A _inst_1) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} A _inst_1) A (Subgroup.setLike.{u1} A _inst_1)) (MonoidHom.ker.{u1, u2} A _inst_1 B (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B _inst_2))) f)) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} A _inst_1) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} A _inst_1) A (Subgroup.setLike.{u1} A _inst_1)) (MonoidHom.ker.{u1, u2} A _inst_1 B (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B _inst_2))) f)) (Group.toDivInvMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} A _inst_1) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} A _inst_1) A (Subgroup.setLike.{u1} A _inst_1)) (MonoidHom.ker.{u1, u2} A _inst_1 B (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B _inst_2))) f)) (Subgroup.toGroup.{u1} A _inst_1 (MonoidHom.ker.{u1, u2} A _inst_1 B (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B _inst_2))) f))))) (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B _inst_2)))) (MonoidHom.comp.{u1, u1, u2} (coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} A _inst_1) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} A _inst_1) A (Subgroup.setLike.{u1} A _inst_1)) (MonoidHom.ker.{u1, u2} A _inst_1 B (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B _inst_2))) f)) A B (Monoid.toMulOneClass.{u1} (coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} A _inst_1) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} A _inst_1) A (Subgroup.setLike.{u1} A _inst_1)) (MonoidHom.ker.{u1, u2} A _inst_1 B (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B _inst_2))) f)) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} A _inst_1) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} A _inst_1) A (Subgroup.setLike.{u1} A _inst_1)) (MonoidHom.ker.{u1, u2} A _inst_1 B (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B _inst_2))) f)) (Group.toDivInvMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} A _inst_1) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} A _inst_1) A (Subgroup.setLike.{u1} A _inst_1)) (MonoidHom.ker.{u1, u2} A _inst_1 B (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B _inst_2))) f)) (Subgroup.toGroup.{u1} A _inst_1 (MonoidHom.ker.{u1, u2} A _inst_1 B (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B _inst_2))) f))))) (Monoid.toMulOneClass.{u1} A (DivInvMonoid.toMonoid.{u1} A (Group.toDivInvMonoid.{u1} A _inst_1))) (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B _inst_2))) f u) (MonoidHom.comp.{u1, u1, u2} (coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} A _inst_1) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} A _inst_1) A (Subgroup.setLike.{u1} A _inst_1)) (MonoidHom.ker.{u1, u2} A _inst_1 B (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B _inst_2))) f)) A B (Monoid.toMulOneClass.{u1} (coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} A _inst_1) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} A _inst_1) A (Subgroup.setLike.{u1} A _inst_1)) (MonoidHom.ker.{u1, u2} A _inst_1 B (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B _inst_2))) f)) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} A _inst_1) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} A _inst_1) A (Subgroup.setLike.{u1} A _inst_1)) (MonoidHom.ker.{u1, u2} A _inst_1 B (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B _inst_2))) f)) (Group.toDivInvMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} A _inst_1) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} A _inst_1) A (Subgroup.setLike.{u1} A _inst_1)) (MonoidHom.ker.{u1, u2} A _inst_1 B (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B _inst_2))) f)) (Subgroup.toGroup.{u1} A _inst_1 (MonoidHom.ker.{u1, u2} A _inst_1 B (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B _inst_2))) f))))) (Monoid.toMulOneClass.{u1} A (DivInvMonoid.toMonoid.{u1} A (Group.toDivInvMonoid.{u1} A _inst_1))) (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B _inst_2))) f v)) -> (Eq.{succ u1} (MonoidHom.{u1, u1} (coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} A _inst_1) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} A _inst_1) A (Subgroup.setLike.{u1} A _inst_1)) (MonoidHom.ker.{u1, u2} A _inst_1 B (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B _inst_2))) f)) A (Monoid.toMulOneClass.{u1} (coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} A _inst_1) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} A _inst_1) A (Subgroup.setLike.{u1} A _inst_1)) (MonoidHom.ker.{u1, u2} A _inst_1 B (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B _inst_2))) f)) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} A _inst_1) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} A _inst_1) A (Subgroup.setLike.{u1} A _inst_1)) (MonoidHom.ker.{u1, u2} A _inst_1 B (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B _inst_2))) f)) (Group.toDivInvMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} A _inst_1) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} A _inst_1) A (Subgroup.setLike.{u1} A _inst_1)) (MonoidHom.ker.{u1, u2} A _inst_1 B (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B _inst_2))) f)) (Subgroup.toGroup.{u1} A _inst_1 (MonoidHom.ker.{u1, u2} A _inst_1 B (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B _inst_2))) f))))) (Monoid.toMulOneClass.{u1} A (DivInvMonoid.toMonoid.{u1} A (Group.toDivInvMonoid.{u1} A _inst_1)))) u v)) -> (Eq.{succ u1} (Subgroup.{u1} A _inst_1) (MonoidHom.ker.{u1, u2} A _inst_1 B (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B _inst_2))) f) (Bot.bot.{u1} (Subgroup.{u1} A _inst_1) (Subgroup.hasBot.{u1} A _inst_1)))
-but is expected to have type
-  forall {A : Type.{u1}} {B : Type.{u2}} [_inst_1 : Group.{u1} A] [_inst_2 : Group.{u2} B] {f : MonoidHom.{u1, u2} A B (Monoid.toMulOneClass.{u1} A (DivInvMonoid.toMonoid.{u1} A (Group.toDivInvMonoid.{u1} A _inst_1))) (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B _inst_2)))}, (forall (u : MonoidHom.{u1, u1} (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (Subgroup.{u1} A _inst_1) (SetLike.instMembership.{u1, u1} (Subgroup.{u1} A _inst_1) A (Subgroup.instSetLikeSubgroup.{u1} A _inst_1)) x (MonoidHom.ker.{u1, u2} A _inst_1 B (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B _inst_2))) f))) A (Submonoid.toMulOneClass.{u1} A (Monoid.toMulOneClass.{u1} A (DivInvMonoid.toMonoid.{u1} A (Group.toDivInvMonoid.{u1} A _inst_1))) (Subgroup.toSubmonoid.{u1} A _inst_1 (MonoidHom.ker.{u1, u2} A _inst_1 B (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B _inst_2))) f))) (Monoid.toMulOneClass.{u1} A (DivInvMonoid.toMonoid.{u1} A (Group.toDivInvMonoid.{u1} A _inst_1)))) (v : MonoidHom.{u1, u1} (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (Subgroup.{u1} A _inst_1) (SetLike.instMembership.{u1, u1} (Subgroup.{u1} A _inst_1) A (Subgroup.instSetLikeSubgroup.{u1} A _inst_1)) x (MonoidHom.ker.{u1, u2} A _inst_1 B (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B _inst_2))) f))) A (Submonoid.toMulOneClass.{u1} A (Monoid.toMulOneClass.{u1} A (DivInvMonoid.toMonoid.{u1} A (Group.toDivInvMonoid.{u1} A _inst_1))) (Subgroup.toSubmonoid.{u1} A _inst_1 (MonoidHom.ker.{u1, u2} A _inst_1 B (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B _inst_2))) f))) (Monoid.toMulOneClass.{u1} A (DivInvMonoid.toMonoid.{u1} A (Group.toDivInvMonoid.{u1} A _inst_1)))), (Eq.{max (succ u1) (succ u2)} (MonoidHom.{u1, u2} (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (Subgroup.{u1} A _inst_1) (SetLike.instMembership.{u1, u1} (Subgroup.{u1} A _inst_1) A (Subgroup.instSetLikeSubgroup.{u1} A _inst_1)) x (MonoidHom.ker.{u1, u2} A _inst_1 B (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B _inst_2))) f))) B (Submonoid.toMulOneClass.{u1} A (Monoid.toMulOneClass.{u1} A (DivInvMonoid.toMonoid.{u1} A (Group.toDivInvMonoid.{u1} A _inst_1))) (Subgroup.toSubmonoid.{u1} A _inst_1 (MonoidHom.ker.{u1, u2} A _inst_1 B (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B _inst_2))) f))) (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B _inst_2)))) (MonoidHom.comp.{u1, u1, u2} (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (Subgroup.{u1} A _inst_1) (SetLike.instMembership.{u1, u1} (Subgroup.{u1} A _inst_1) A (Subgroup.instSetLikeSubgroup.{u1} A _inst_1)) x (MonoidHom.ker.{u1, u2} A _inst_1 B (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B _inst_2))) f))) A B (Submonoid.toMulOneClass.{u1} A (Monoid.toMulOneClass.{u1} A (DivInvMonoid.toMonoid.{u1} A (Group.toDivInvMonoid.{u1} A _inst_1))) (Subgroup.toSubmonoid.{u1} A _inst_1 (MonoidHom.ker.{u1, u2} A _inst_1 B (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B _inst_2))) f))) (Monoid.toMulOneClass.{u1} A (DivInvMonoid.toMonoid.{u1} A (Group.toDivInvMonoid.{u1} A _inst_1))) (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B _inst_2))) f u) (MonoidHom.comp.{u1, u1, u2} (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (Subgroup.{u1} A _inst_1) (SetLike.instMembership.{u1, u1} (Subgroup.{u1} A _inst_1) A (Subgroup.instSetLikeSubgroup.{u1} A _inst_1)) x (MonoidHom.ker.{u1, u2} A _inst_1 B (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B _inst_2))) f))) A B (Submonoid.toMulOneClass.{u1} A (Monoid.toMulOneClass.{u1} A (DivInvMonoid.toMonoid.{u1} A (Group.toDivInvMonoid.{u1} A _inst_1))) (Subgroup.toSubmonoid.{u1} A _inst_1 (MonoidHom.ker.{u1, u2} A _inst_1 B (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B _inst_2))) f))) (Monoid.toMulOneClass.{u1} A (DivInvMonoid.toMonoid.{u1} A (Group.toDivInvMonoid.{u1} A _inst_1))) (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B _inst_2))) f v)) -> (Eq.{succ u1} (MonoidHom.{u1, u1} (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (Subgroup.{u1} A _inst_1) (SetLike.instMembership.{u1, u1} (Subgroup.{u1} A _inst_1) A (Subgroup.instSetLikeSubgroup.{u1} A _inst_1)) x (MonoidHom.ker.{u1, u2} A _inst_1 B (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B _inst_2))) f))) A (Submonoid.toMulOneClass.{u1} A (Monoid.toMulOneClass.{u1} A (DivInvMonoid.toMonoid.{u1} A (Group.toDivInvMonoid.{u1} A _inst_1))) (Subgroup.toSubmonoid.{u1} A _inst_1 (MonoidHom.ker.{u1, u2} A _inst_1 B (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B _inst_2))) f))) (Monoid.toMulOneClass.{u1} A (DivInvMonoid.toMonoid.{u1} A (Group.toDivInvMonoid.{u1} A _inst_1)))) u v)) -> (Eq.{succ u1} (Subgroup.{u1} A _inst_1) (MonoidHom.ker.{u1, u2} A _inst_1 B (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B _inst_2))) f) (Bot.bot.{u1} (Subgroup.{u1} A _inst_1) (Subgroup.instBotSubgroup.{u1} A _inst_1)))
+<too large>
 Case conversion may be inaccurate. Consider using '#align monoid_hom.ker_eq_bot_of_cancel MonoidHom.ker_eq_bot_of_cancelₓ'. -/
 @[to_additive AddMonoidHom.ker_eq_bot_of_cancel]
 theorem ker_eq_bot_of_cancel {f : A →* B} (h : ∀ u v : f.ker →* A, f.comp u = f.comp v → u = v) :
@@ -54,10 +51,7 @@ section
 variable [CommGroup A] [CommGroup B]
 
 /- warning: monoid_hom.range_eq_top_of_cancel -> MonoidHom.range_eq_top_of_cancel is a dubious translation:
-lean 3 declaration is
-  forall {A : Type.{u1}} {B : Type.{u2}} [_inst_1 : CommGroup.{u1} A] [_inst_2 : CommGroup.{u2} B] {f : MonoidHom.{u1, u2} A B (Monoid.toMulOneClass.{u1} A (DivInvMonoid.toMonoid.{u1} A (Group.toDivInvMonoid.{u1} A (CommGroup.toGroup.{u1} A _inst_1)))) (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B (CommGroup.toGroup.{u2} B _inst_2))))}, (forall (u : MonoidHom.{u2, u2} B (HasQuotient.Quotient.{u2, u2} B (Subgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (QuotientGroup.Subgroup.hasQuotient.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f)) (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B (CommGroup.toGroup.{u2} B _inst_2)))) (Monoid.toMulOneClass.{u2} (HasQuotient.Quotient.{u2, u2} B (Subgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (QuotientGroup.Subgroup.hasQuotient.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f)) (DivInvMonoid.toMonoid.{u2} (HasQuotient.Quotient.{u2, u2} B (Subgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (QuotientGroup.Subgroup.hasQuotient.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f)) (Group.toDivInvMonoid.{u2} (HasQuotient.Quotient.{u2, u2} B (Subgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (QuotientGroup.Subgroup.hasQuotient.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f)) (QuotientGroup.Quotient.group.{u2} B (CommGroup.toGroup.{u2} B _inst_2) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f) (Subgroup.normal_of_comm.{u2} B _inst_2 (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f))))))) (v : MonoidHom.{u2, u2} B (HasQuotient.Quotient.{u2, u2} B (Subgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (QuotientGroup.Subgroup.hasQuotient.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f)) (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B (CommGroup.toGroup.{u2} B _inst_2)))) (Monoid.toMulOneClass.{u2} (HasQuotient.Quotient.{u2, u2} B (Subgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (QuotientGroup.Subgroup.hasQuotient.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f)) (DivInvMonoid.toMonoid.{u2} (HasQuotient.Quotient.{u2, u2} B (Subgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (QuotientGroup.Subgroup.hasQuotient.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f)) (Group.toDivInvMonoid.{u2} (HasQuotient.Quotient.{u2, u2} B (Subgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (QuotientGroup.Subgroup.hasQuotient.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f)) (QuotientGroup.Quotient.group.{u2} B (CommGroup.toGroup.{u2} B _inst_2) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f) (Subgroup.normal_of_comm.{u2} B _inst_2 (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f))))))), (Eq.{max (succ u2) (succ u1)} (MonoidHom.{u1, u2} A (HasQuotient.Quotient.{u2, u2} B (Subgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (QuotientGroup.Subgroup.hasQuotient.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f)) (Monoid.toMulOneClass.{u1} A (DivInvMonoid.toMonoid.{u1} A (Group.toDivInvMonoid.{u1} A (CommGroup.toGroup.{u1} A _inst_1)))) (Monoid.toMulOneClass.{u2} (HasQuotient.Quotient.{u2, u2} B (Subgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (QuotientGroup.Subgroup.hasQuotient.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f)) (DivInvMonoid.toMonoid.{u2} (HasQuotient.Quotient.{u2, u2} B (Subgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (QuotientGroup.Subgroup.hasQuotient.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f)) (Group.toDivInvMonoid.{u2} (HasQuotient.Quotient.{u2, u2} B (Subgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (QuotientGroup.Subgroup.hasQuotient.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f)) (QuotientGroup.Quotient.group.{u2} B (CommGroup.toGroup.{u2} B _inst_2) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f) (Subgroup.normal_of_comm.{u2} B _inst_2 (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f))))))) (MonoidHom.comp.{u1, u2, u2} A B (HasQuotient.Quotient.{u2, u2} B (Subgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (QuotientGroup.Subgroup.hasQuotient.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f)) (Monoid.toMulOneClass.{u1} A (DivInvMonoid.toMonoid.{u1} A (Group.toDivInvMonoid.{u1} A (CommGroup.toGroup.{u1} A _inst_1)))) (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B (CommGroup.toGroup.{u2} B _inst_2)))) (Monoid.toMulOneClass.{u2} (HasQuotient.Quotient.{u2, u2} B (Subgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (QuotientGroup.Subgroup.hasQuotient.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f)) (DivInvMonoid.toMonoid.{u2} (HasQuotient.Quotient.{u2, u2} B (Subgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (QuotientGroup.Subgroup.hasQuotient.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f)) (Group.toDivInvMonoid.{u2} (HasQuotient.Quotient.{u2, u2} B (Subgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (QuotientGroup.Subgroup.hasQuotient.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f)) (QuotientGroup.Quotient.group.{u2} B (CommGroup.toGroup.{u2} B _inst_2) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f) (Subgroup.normal_of_comm.{u2} B _inst_2 (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f)))))) u f) (MonoidHom.comp.{u1, u2, u2} A B (HasQuotient.Quotient.{u2, u2} B (Subgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (QuotientGroup.Subgroup.hasQuotient.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f)) (Monoid.toMulOneClass.{u1} A (DivInvMonoid.toMonoid.{u1} A (Group.toDivInvMonoid.{u1} A (CommGroup.toGroup.{u1} A _inst_1)))) (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B (CommGroup.toGroup.{u2} B _inst_2)))) (Monoid.toMulOneClass.{u2} (HasQuotient.Quotient.{u2, u2} B (Subgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (QuotientGroup.Subgroup.hasQuotient.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f)) (DivInvMonoid.toMonoid.{u2} (HasQuotient.Quotient.{u2, u2} B (Subgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (QuotientGroup.Subgroup.hasQuotient.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f)) (Group.toDivInvMonoid.{u2} (HasQuotient.Quotient.{u2, u2} B (Subgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (QuotientGroup.Subgroup.hasQuotient.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f)) (QuotientGroup.Quotient.group.{u2} B (CommGroup.toGroup.{u2} B _inst_2) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f) (Subgroup.normal_of_comm.{u2} B _inst_2 (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f)))))) v f)) -> (Eq.{succ u2} (MonoidHom.{u2, u2} B (HasQuotient.Quotient.{u2, u2} B (Subgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (QuotientGroup.Subgroup.hasQuotient.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f)) (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B (CommGroup.toGroup.{u2} B _inst_2)))) (Monoid.toMulOneClass.{u2} (HasQuotient.Quotient.{u2, u2} B (Subgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (QuotientGroup.Subgroup.hasQuotient.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f)) (DivInvMonoid.toMonoid.{u2} (HasQuotient.Quotient.{u2, u2} B (Subgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (QuotientGroup.Subgroup.hasQuotient.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f)) (Group.toDivInvMonoid.{u2} (HasQuotient.Quotient.{u2, u2} B (Subgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (QuotientGroup.Subgroup.hasQuotient.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f)) (QuotientGroup.Quotient.group.{u2} B (CommGroup.toGroup.{u2} B _inst_2) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f) (Subgroup.normal_of_comm.{u2} B _inst_2 (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f))))))) u v)) -> (Eq.{succ u2} (Subgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f) (Top.top.{u2} (Subgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (Subgroup.hasTop.{u2} B (CommGroup.toGroup.{u2} B _inst_2))))
-but is expected to have type
-  forall {A : Type.{u1}} {B : Type.{u2}} [_inst_1 : CommGroup.{u1} A] [_inst_2 : CommGroup.{u2} B] {f : MonoidHom.{u1, u2} A B (Monoid.toMulOneClass.{u1} A (DivInvMonoid.toMonoid.{u1} A (Group.toDivInvMonoid.{u1} A (CommGroup.toGroup.{u1} A _inst_1)))) (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B (CommGroup.toGroup.{u2} B _inst_2))))}, (forall (u : MonoidHom.{u2, u2} B (HasQuotient.Quotient.{u2, u2} B (Subgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (QuotientGroup.instHasQuotientSubgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f)) (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B (CommGroup.toGroup.{u2} B _inst_2)))) (Monoid.toMulOneClass.{u2} (HasQuotient.Quotient.{u2, u2} B (Subgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (QuotientGroup.instHasQuotientSubgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f)) (DivInvMonoid.toMonoid.{u2} (HasQuotient.Quotient.{u2, u2} B (Subgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (QuotientGroup.instHasQuotientSubgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f)) (Group.toDivInvMonoid.{u2} (HasQuotient.Quotient.{u2, u2} B (Subgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (QuotientGroup.instHasQuotientSubgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f)) (QuotientGroup.Quotient.group.{u2} B (CommGroup.toGroup.{u2} B _inst_2) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f) (Subgroup.normal_of_comm.{u2} B _inst_2 (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f))))))) (v : MonoidHom.{u2, u2} B (HasQuotient.Quotient.{u2, u2} B (Subgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (QuotientGroup.instHasQuotientSubgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f)) (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B (CommGroup.toGroup.{u2} B _inst_2)))) (Monoid.toMulOneClass.{u2} (HasQuotient.Quotient.{u2, u2} B (Subgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (QuotientGroup.instHasQuotientSubgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f)) (DivInvMonoid.toMonoid.{u2} (HasQuotient.Quotient.{u2, u2} B (Subgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (QuotientGroup.instHasQuotientSubgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f)) (Group.toDivInvMonoid.{u2} (HasQuotient.Quotient.{u2, u2} B (Subgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (QuotientGroup.instHasQuotientSubgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f)) (QuotientGroup.Quotient.group.{u2} B (CommGroup.toGroup.{u2} B _inst_2) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f) (Subgroup.normal_of_comm.{u2} B _inst_2 (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f))))))), (Eq.{max (succ u1) (succ u2)} (MonoidHom.{u1, u2} A (HasQuotient.Quotient.{u2, u2} B (Subgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (QuotientGroup.instHasQuotientSubgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f)) (Monoid.toMulOneClass.{u1} A (DivInvMonoid.toMonoid.{u1} A (Group.toDivInvMonoid.{u1} A (CommGroup.toGroup.{u1} A _inst_1)))) (Monoid.toMulOneClass.{u2} (HasQuotient.Quotient.{u2, u2} B (Subgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (QuotientGroup.instHasQuotientSubgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f)) (DivInvMonoid.toMonoid.{u2} (HasQuotient.Quotient.{u2, u2} B (Subgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (QuotientGroup.instHasQuotientSubgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f)) (Group.toDivInvMonoid.{u2} (HasQuotient.Quotient.{u2, u2} B (Subgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (QuotientGroup.instHasQuotientSubgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f)) (QuotientGroup.Quotient.group.{u2} B (CommGroup.toGroup.{u2} B _inst_2) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f) (Subgroup.normal_of_comm.{u2} B _inst_2 (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f))))))) (MonoidHom.comp.{u1, u2, u2} A B (HasQuotient.Quotient.{u2, u2} B (Subgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (QuotientGroup.instHasQuotientSubgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f)) (Monoid.toMulOneClass.{u1} A (DivInvMonoid.toMonoid.{u1} A (Group.toDivInvMonoid.{u1} A (CommGroup.toGroup.{u1} A _inst_1)))) (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B (CommGroup.toGroup.{u2} B _inst_2)))) (Monoid.toMulOneClass.{u2} (HasQuotient.Quotient.{u2, u2} B (Subgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (QuotientGroup.instHasQuotientSubgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f)) (DivInvMonoid.toMonoid.{u2} (HasQuotient.Quotient.{u2, u2} B (Subgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (QuotientGroup.instHasQuotientSubgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f)) (Group.toDivInvMonoid.{u2} (HasQuotient.Quotient.{u2, u2} B (Subgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (QuotientGroup.instHasQuotientSubgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f)) (QuotientGroup.Quotient.group.{u2} B (CommGroup.toGroup.{u2} B _inst_2) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f) (Subgroup.normal_of_comm.{u2} B _inst_2 (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f)))))) u f) (MonoidHom.comp.{u1, u2, u2} A B (HasQuotient.Quotient.{u2, u2} B (Subgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (QuotientGroup.instHasQuotientSubgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f)) (Monoid.toMulOneClass.{u1} A (DivInvMonoid.toMonoid.{u1} A (Group.toDivInvMonoid.{u1} A (CommGroup.toGroup.{u1} A _inst_1)))) (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B (CommGroup.toGroup.{u2} B _inst_2)))) (Monoid.toMulOneClass.{u2} (HasQuotient.Quotient.{u2, u2} B (Subgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (QuotientGroup.instHasQuotientSubgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f)) (DivInvMonoid.toMonoid.{u2} (HasQuotient.Quotient.{u2, u2} B (Subgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (QuotientGroup.instHasQuotientSubgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f)) (Group.toDivInvMonoid.{u2} (HasQuotient.Quotient.{u2, u2} B (Subgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (QuotientGroup.instHasQuotientSubgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f)) (QuotientGroup.Quotient.group.{u2} B (CommGroup.toGroup.{u2} B _inst_2) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f) (Subgroup.normal_of_comm.{u2} B _inst_2 (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f)))))) v f)) -> (Eq.{succ u2} (MonoidHom.{u2, u2} B (HasQuotient.Quotient.{u2, u2} B (Subgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (QuotientGroup.instHasQuotientSubgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f)) (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B (CommGroup.toGroup.{u2} B _inst_2)))) (Monoid.toMulOneClass.{u2} (HasQuotient.Quotient.{u2, u2} B (Subgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (QuotientGroup.instHasQuotientSubgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f)) (DivInvMonoid.toMonoid.{u2} (HasQuotient.Quotient.{u2, u2} B (Subgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (QuotientGroup.instHasQuotientSubgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f)) (Group.toDivInvMonoid.{u2} (HasQuotient.Quotient.{u2, u2} B (Subgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (QuotientGroup.instHasQuotientSubgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f)) (QuotientGroup.Quotient.group.{u2} B (CommGroup.toGroup.{u2} B _inst_2) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f) (Subgroup.normal_of_comm.{u2} B _inst_2 (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f))))))) u v)) -> (Eq.{succ u2} (Subgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f) (Top.top.{u2} (Subgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (Subgroup.instTopSubgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align monoid_hom.range_eq_top_of_cancel MonoidHom.range_eq_top_of_cancelₓ'. -/
 @[to_additive AddMonoidHom.range_eq_top_of_cancel]
 theorem range_eq_top_of_cancel {f : A →* B}
@@ -191,10 +185,7 @@ theorem one_smul (x : X') : (1 : B) • x = x :=
 #align Group.surjective_of_epi_auxs.one_smul GroupCat.SurjectiveOfEpiAuxs.one_smul
 
 /- warning: Group.surjective_of_epi_auxs.from_coset_eq_of_mem_range -> GroupCat.SurjectiveOfEpiAuxs.fromCoset_eq_of_mem_range is a dubious translation:
-lean 3 declaration is
-  forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1})) A B) {b : coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B}, (Membership.Mem.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Subgroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)) (SetLike.hasMem.{u1, u1} (Subgroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Subgroup.setLike.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B))) b (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) -> (Eq.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.fromCoset.{u1} A B f (Subtype.mk.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Membership.Mem.{u1, u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.hasMem.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) x (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B))))) b (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))) (Exists.intro.{succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (fun (y : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) => Eq.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) y) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B))))) b (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)))) b (rfl.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) b))))) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.fromCoset.{u1} A B f (Subtype.mk.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Membership.Mem.{u1, u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.hasMem.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) x (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) (Exists.intro.{succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (fun (y : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) => Eq.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) y) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))) (OfNat.ofNat.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) 1 (OfNat.mk.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) 1 (One.one.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasOne.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))))) (one_leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)))))))
-but is expected to have type
-  forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} instGroupCatLargeCategory.{u1})) A B) {b : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B}, (Membership.mem.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Subgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)) (SetLike.instMembership.{u1, u1} (Subgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Subgroup.instSetLikeSubgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))) b (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)) -> (Eq.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.fromCoset.{u1} A B f (Subtype.mk.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) x (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))))) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) b (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))) (Exists.intro.{succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (y : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) y) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) b (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))))) b (rfl.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) b))))) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.fromCoset.{u1} A B f (Subtype.mk.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) x (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) (Exists.intro.{succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (y : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) y) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))) (OfNat.ofNat.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) 1 (One.toOfNat1.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (InvOneClass.toOne.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvOneMonoid.toInvOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivisionMonoid.toDivInvOneMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivisionMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))))) (one_leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))))))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align Group.surjective_of_epi_auxs.from_coset_eq_of_mem_range GroupCat.SurjectiveOfEpiAuxs.fromCoset_eq_of_mem_rangeₓ'. -/
 theorem fromCoset_eq_of_mem_range {b : B} (hb : b ∈ f.range) :
     fromCoset ⟨b *l f.range.carrier, ⟨b, rfl⟩⟩ =
@@ -208,10 +199,7 @@ theorem fromCoset_eq_of_mem_range {b : B} (hb : b ∈ f.range) :
 #align Group.surjective_of_epi_auxs.from_coset_eq_of_mem_range GroupCat.SurjectiveOfEpiAuxs.fromCoset_eq_of_mem_range
 
 /- warning: Group.surjective_of_epi_auxs.from_coset_ne_of_nin_range -> GroupCat.SurjectiveOfEpiAuxs.fromCoset_ne_of_nin_range is a dubious translation:
-lean 3 declaration is
-  forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1})) A B) {b : coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B}, (Not (Membership.Mem.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Subgroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)) (SetLike.hasMem.{u1, u1} (Subgroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Subgroup.setLike.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B))) b (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))) -> (Ne.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.fromCoset.{u1} A B f (Subtype.mk.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Membership.Mem.{u1, u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.hasMem.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) x (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B))))) b (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))) (Exists.intro.{succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (fun (y : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) => Eq.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) y) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B))))) b (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)))) b (rfl.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) b))))) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.fromCoset.{u1} A B f (Subtype.mk.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Membership.Mem.{u1, u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.hasMem.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) x (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) (Exists.intro.{succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (fun (y : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) => Eq.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) y) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))) (OfNat.ofNat.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) 1 (OfNat.mk.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) 1 (One.one.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasOne.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))))) (one_leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)))))))
-but is expected to have type
-  forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} instGroupCatLargeCategory.{u1})) A B) {b : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B}, (Not (Membership.mem.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Subgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)) (SetLike.instMembership.{u1, u1} (Subgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Subgroup.instSetLikeSubgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))) b (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))) -> (Ne.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.fromCoset.{u1} A B f (Subtype.mk.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) x (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))))) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) b (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))) (Exists.intro.{succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (y : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) y) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) b (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))))) b (rfl.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) b))))) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.fromCoset.{u1} A B f (Subtype.mk.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) x (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) (Exists.intro.{succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (y : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) y) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))) (OfNat.ofNat.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) 1 (One.toOfNat1.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (InvOneClass.toOne.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvOneMonoid.toInvOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivisionMonoid.toDivInvOneMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivisionMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))))) (one_leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))))))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align Group.surjective_of_epi_auxs.from_coset_ne_of_nin_range GroupCat.SurjectiveOfEpiAuxs.fromCoset_ne_of_nin_rangeₓ'. -/
 theorem fromCoset_ne_of_nin_range {b : B} (hb : b ∉ f.range) :
     fromCoset ⟨b *l f.range.carrier, ⟨b, rfl⟩⟩ ≠
@@ -328,10 +316,7 @@ The strategy is the following: assuming `epi f`
 
 /- warning: Group.surjective_of_epi_auxs.g_apply_from_coset clashes with Group.surjective_of_epi_auxs.g_apply_fromCoset -> GroupCat.SurjectiveOfEpiAuxs.g_apply_fromCoset
 warning: Group.surjective_of_epi_auxs.g_apply_from_coset -> GroupCat.SurjectiveOfEpiAuxs.g_apply_fromCoset is a dubious translation:
-lean 3 declaration is
-  forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1})) A B) (x : coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (y : coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) Type.{u1} (Set.hasCoeToSort.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))), Eq.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (coeFn.{succ u1, succ u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (fun (_x : Equiv.{succ u1, succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) => (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) -> (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.hasCoeToFun.{succ u1, succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (coeFn.{succ u1, succ u1} (MonoidHom.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (GroupCat.group.{u1} B)))) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (fun (_x : MonoidHom.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (GroupCat.group.{u1} B)))) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) => (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) -> (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f))) (MonoidHom.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (GroupCat.group.{u1} B)))) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (GroupCat.SurjectiveOfEpiAuxs.g.{u1} A B f) x) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.fromCoset.{u1} A B f y)) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.fromCoset.{u1} A B f (Subtype.mk.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Membership.Mem.{u1, u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.hasMem.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) x (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B))))) x ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) Type.{u1} (Set.hasCoeToSort.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) Type.{u1} (Set.hasCoeToSort.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (CoeTCₓ.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) Type.{u1} (Set.hasCoeToSort.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) Type.{u1} (Set.hasCoeToSort.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSubtype.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Membership.Mem.{u1, u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.hasMem.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) x (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))))))) y)) (Subtype.casesOn.{0, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Membership.Mem.{u1, u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.hasMem.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) x (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) (fun (y : coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) Type.{u1} (Set.hasCoeToSort.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) => Membership.Mem.{u1, u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.hasMem.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B))))) x ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) Type.{u1} (Set.hasCoeToSort.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) Type.{u1} (Set.hasCoeToSort.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (CoeTCₓ.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) Type.{u1} (Set.hasCoeToSort.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) Type.{u1} (Set.hasCoeToSort.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSubtype.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Membership.Mem.{u1, u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.hasMem.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) x (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))))))) y)) (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) y (fun (y_val : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (y_property : Membership.Mem.{u1, u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.hasMem.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) y_val (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) => Exists.dcases_on.{succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (fun (y : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) => Eq.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) y) y_val) (fun (y_property : Membership.Mem.{u1, u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.hasMem.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) y_val (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) => Membership.Mem.{u1, u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.hasMem.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B))))) x ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) Type.{u1} (Set.hasCoeToSort.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) Type.{u1} (Set.hasCoeToSort.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (CoeTCₓ.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) Type.{u1} (Set.hasCoeToSort.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) Type.{u1} (Set.hasCoeToSort.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSubtype.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Membership.Mem.{u1, u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.hasMem.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) x (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))))))) (Subtype.mk.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Membership.Mem.{u1, u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.hasMem.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) x (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) y_val y_property))) (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) y_property (fun (y_property_w : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y_property_h : Eq.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) y_property_w) y_val) => Eq.drec.{0, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) y_property_w) (fun (y_val : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (y_property_h : Eq.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) y_property_w) y_val) => Membership.Mem.{u1, u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.hasMem.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B))))) x ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) Type.{u1} (Set.hasCoeToSort.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) Type.{u1} (Set.hasCoeToSort.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (CoeTCₓ.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) Type.{u1} (Set.hasCoeToSort.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) Type.{u1} (Set.hasCoeToSort.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSubtype.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Membership.Mem.{u1, u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.hasMem.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) x (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))))))) (Subtype.mk.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Membership.Mem.{u1, u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.hasMem.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) x (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) y_val (Exists.intro.{succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (fun (y : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) => Eq.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) y) y_val) y_property_w y_property_h)))) (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) (id.{0} (forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1})) A B) (x : coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (y_property_w : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B), (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) -> (Membership.Mem.{u1, u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.hasMem.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B))))) x ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) Type.{u1} (Set.hasCoeToSort.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) Type.{u1} (Set.hasCoeToSort.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (CoeTCₓ.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) Type.{u1} (Set.hasCoeToSort.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) Type.{u1} (Set.hasCoeToSort.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSubtype.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Membership.Mem.{u1, u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.hasMem.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) x (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))))))) (Subtype.mk.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Membership.Mem.{u1, u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.hasMem.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) x (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) y_property_w) (Exists.intro.{succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (fun (y : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) => Eq.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) y) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) y_property_w)) y_property_w (rfl.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) y_property_w)))))) (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)))))) (fun {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1})) A B) (x : coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (y_property_w : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y_val : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Eq.mpr.{0} (Exists.{succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (fun (y : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) => Eq.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) y) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B))))) x (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) y_property_w)))) True (id_tag Tactic.IdTag.simp (Eq.{1} Prop (Exists.{succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (fun (y : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) => Eq.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) y) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B))))) x (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) y_property_w)))) True) (Eq.trans.{1} Prop (Exists.{succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (fun (y : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) => Eq.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) y) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B))))) x (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) y_property_w)))) (Exists.{succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (fun (y : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) => Eq.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) y) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B))))) (HMul.hMul.{u1, u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (instHMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) x y_property_w) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) True ((fun (p : (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) -> Prop) (p_1 : (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) -> Prop) (e_1 : Eq.{succ u1} ((coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) -> Prop) p p_1) => congr_arg.{succ u1, 1} ((coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) -> Prop) Prop p p_1 (Exists.{succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) e_1) (fun (y : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) => Eq.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) y) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B))))) x (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) y_property_w))) (fun (y : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) => Eq.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) y) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B))))) (HMul.hMul.{u1, u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (instHMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) x y_property_w) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)))) (funext.{succ u1, 1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) => Prop) (fun (x_1 : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) => Eq.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) x_1) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B))))) x (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) y_property_w))) (fun (x_1 : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) => Eq.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) x_1) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B))))) (HMul.hMul.{u1, u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (instHMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) x y_property_w) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)))) (fun (y : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) => (fun (a : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (a_1 : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (e_1 : Eq.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) a a_1) (ᾰ : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (ᾰ_1 : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (e_2 : Eq.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) ᾰ ᾰ_1) => congr.{succ u1, 1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) Prop (Eq.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) a) (Eq.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) a_1) ᾰ ᾰ_1 (congr_arg.{succ u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) ((Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) -> Prop) a a_1 (Eq.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) e_1) e_2) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) y) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) y) (rfl.{succ u1} ((fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) y (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) y)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B))))) x (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) y_property_w)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B))))) (HMul.hMul.{u1, u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (instHMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) x y_property_w) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))) (leftCoset_assoc.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toSemigroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) x y_property_w)))) (propext (Exists.{succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (fun (a : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) => Eq.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) ((fun (a : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) => Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) a) a) ((fun (a : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) => Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) a) (HMul.hMul.{u1, u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (instHMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) x y_property_w)))) True ((fun {α : Type.{u1}} {β : Type.{u1}} (f : α -> β) (a' : α) => iff_true_intro (Exists.{succ u1} α (fun (a : α) => Eq.{succ u1} β (f a) (f a'))) (exists_apply_eq_apply.{succ u1, succ u1} α β f a')) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (a : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) => Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) a) (HMul.hMul.{u1, u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (instHMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) x y_property_w))))) trivial) A B f x y_property_w y_val) y_val y_property_h)))))
-but is expected to have type
-  forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} instGroupCatLargeCategory.{u1})) A B) (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.Elem.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))))), Eq.{succ u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) => GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.fromCoset.{u1} A B f y)) (FunLike.coe.{succ u1, succ u1, succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) x) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (fun (_x : GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) => GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) _x) (Equiv.instFunLikeEquiv.{succ u1, succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (FunLike.coe.{succ u1, succ u1, succ u1} (MonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (_x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) _x) (MulHomClass.toFunLike.{u1, u1, u1} (MonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) (MulOneClass.toMul.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (MonoidHomClass.toMulHomClass.{u1, u1, u1} (MonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f))))) (MonoidHom.monoidHomClass.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))))) (GroupCat.SurjectiveOfEpiAuxs.g.{u1} A B f) x) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.fromCoset.{u1} A B f y)) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.fromCoset.{u1} A B f (Subtype.mk.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) x (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))))) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) x (Subtype.val.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) x (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))))) y)) (Eq.mpr.{0} (Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) x (Subtype.val.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) x (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))))) y)) (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))))) (Exists.{succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (y_1 : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) y_1) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) x (Subtype.val.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) x (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))))) y)))) (id.{0} (Eq.{1} Prop (Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) x (Subtype.val.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) x (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))))) y)) (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))))) (Exists.{succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (y_1 : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) y_1) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) x (Subtype.val.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) x (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))))) y))))) (Mathlib.Data.Set.Image._auxLemma.18.{succ u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) x (Subtype.val.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) x (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))))) y)))) (Subtype.casesOn.{0, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) x (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))))) (fun (h : Set.Elem.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))))) => Exists.{succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (y : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) y) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) x (Subtype.val.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) x (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))))) h)))) y (fun (val : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (property : Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) val (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))))) => Exists.casesOn.{succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (y : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) y) val) (fun (h : Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) val (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))))) => Exists.{succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (y : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) y) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) x (Subtype.val.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) x (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))))) (Subtype.mk.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) x (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))))) val h))))) property (fun (w : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (h : Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) w) val) => Eq.rec.{0, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) w) (fun (val : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (h : Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) w) val) => Exists.{succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (y : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) y) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) x (Subtype.val.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) x (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))))) (Subtype.mk.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) x (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))))) val (Exists.intro.{succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (y : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) y) val) w h)))))) (of_eq_true (Exists.{succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (x_1 : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) x_1) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Semigroup.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toSemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) x (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Semigroup.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toSemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) w (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))))))) (Eq.trans.{1} Prop (Exists.{succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (x_1 : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) x_1) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Semigroup.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toSemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) x (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Semigroup.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toSemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) w (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))))))) (Exists.{succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (x_1 : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) x_1) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Semigroup.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toSemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (HMul.hMul.{u1, u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (instHMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Semigroup.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toSemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))))) x w) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))))) True (congrArg.{succ u1, 1} ((CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) -> Prop) Prop (fun (x_1 : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) x_1) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Semigroup.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toSemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) x (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Semigroup.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toSemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) w (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))))) (fun (x_1 : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) x_1) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Semigroup.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toSemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (HMul.hMul.{u1, u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (instHMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Semigroup.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toSemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))))) x w) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))))) (Exists.{succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (funext.{succ u1, 1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Prop) (fun (x_1 : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) x_1) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Semigroup.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toSemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) x (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Semigroup.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toSemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) w (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))))) (fun (x_1 : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) x_1) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Semigroup.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toSemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (HMul.hMul.{u1, u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (instHMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Semigroup.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toSemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))))) x w) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))))) (fun (y : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => congrArg.{succ u1, 1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) Prop (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Semigroup.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toSemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) x (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Semigroup.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toSemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) w (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))))) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Semigroup.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toSemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (HMul.hMul.{u1, u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (instHMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Semigroup.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toSemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))))) x w) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))) (Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) y)) (leftCoset_assoc.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toSemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) x w)))) (Std.Logic._auxLemma.52.{succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (a : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) a) (HMul.hMul.{u1, u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (instHMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Semigroup.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toSemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))))) x w)))) val h))))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align Group.surjective_of_epi_auxs.g_apply_from_coset GroupCat.SurjectiveOfEpiAuxs.g_apply_fromCosetₓ'. -/
 theorem g_apply_fromCoset (x : B) (y : X) : (g x) (fromCoset y) = fromCoset ⟨x *l y, by tidy⟩ :=
   rfl
@@ -344,10 +329,7 @@ theorem g_apply_infinity (x : B) : (g x) ∞ = ∞ :=
 -/
 
 /- warning: Group.surjective_of_epi_auxs.h_apply_infinity -> GroupCat.SurjectiveOfEpiAuxs.h_apply_infinity is a dubious translation:
-lean 3 declaration is
-  forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1})) A B) (x : coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B), (Membership.Mem.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Subgroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)) (SetLike.hasMem.{u1, u1} (Subgroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Subgroup.setLike.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B))) x (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) -> (Eq.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (coeFn.{succ u1, succ u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (fun (_x : Equiv.{succ u1, succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) => (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) -> (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.hasCoeToFun.{succ u1, succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (coeFn.{succ u1, succ u1} (MonoidHom.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (GroupCat.group.{u1} B)))) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (fun (_x : MonoidHom.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (GroupCat.group.{u1} B)))) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) => (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) -> (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f))) (MonoidHom.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (GroupCat.group.{u1} B)))) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (GroupCat.SurjectiveOfEpiAuxs.h.{u1} A B f) x) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.infinity.{u1} A B f)) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.infinity.{u1} A B f))
-but is expected to have type
-  forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} instGroupCatLargeCategory.{u1})) A B) (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B), (Membership.mem.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Subgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)) (SetLike.instMembership.{u1, u1} (Subgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Subgroup.instSetLikeSubgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))) x (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)) -> (Eq.{succ u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) => GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.infinity.{u1} A B f)) (FunLike.coe.{succ u1, succ u1, succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) x) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (fun (_x : GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) => GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) _x) (Equiv.instFunLikeEquiv.{succ u1, succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (FunLike.coe.{succ u1, succ u1, succ u1} (MonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (_x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) _x) (MulHomClass.toFunLike.{u1, u1, u1} (MonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) (MulOneClass.toMul.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (MonoidHomClass.toMulHomClass.{u1, u1, u1} (MonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f))))) (MonoidHom.monoidHomClass.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))))) (GroupCat.SurjectiveOfEpiAuxs.h.{u1} A B f) x) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.infinity.{u1} A B f)) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.infinity.{u1} A B f))
+<too large>
 Case conversion may be inaccurate. Consider using '#align Group.surjective_of_epi_auxs.h_apply_infinity GroupCat.SurjectiveOfEpiAuxs.h_apply_infinityₓ'. -/
 theorem h_apply_infinity (x : B) (hx : x ∈ f.range) : (h x) ∞ = ∞ :=
   by
@@ -374,10 +356,7 @@ theorem h_apply_from_coset' (x : B) (b : B) (hb : b ∈ f.range) :
 
 /- warning: Group.surjective_of_epi_auxs.h_apply_from_coset_nin_range clashes with Group.surjective_of_epi_auxs.h_apply_fromCoset_nin_range -> GroupCat.SurjectiveOfEpiAuxs.h_apply_fromCoset_nin_range
 warning: Group.surjective_of_epi_auxs.h_apply_from_coset_nin_range -> GroupCat.SurjectiveOfEpiAuxs.h_apply_fromCoset_nin_range is a dubious translation:
-lean 3 declaration is
-  forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1})) A B) (x : coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B), (Membership.Mem.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Subgroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)) (SetLike.hasMem.{u1, u1} (Subgroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Subgroup.setLike.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B))) x (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) -> (forall (b : coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B), (Not (Membership.Mem.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Subgroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)) (SetLike.hasMem.{u1, u1} (Subgroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Subgroup.setLike.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B))) b (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))) -> (Eq.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (coeFn.{succ u1, succ u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (fun (_x : Equiv.{succ u1, succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) => (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) -> (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.hasCoeToFun.{succ u1, succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (coeFn.{succ u1, succ u1} (MonoidHom.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (GroupCat.group.{u1} B)))) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (fun (_x : MonoidHom.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (GroupCat.group.{u1} B)))) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) => (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) -> (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f))) (MonoidHom.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (GroupCat.group.{u1} B)))) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (GroupCat.SurjectiveOfEpiAuxs.h.{u1} A B f) x) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.fromCoset.{u1} A B f (Subtype.mk.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Membership.Mem.{u1, u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.hasMem.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) x (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B))))) b (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))) (Exists.intro.{succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (fun (y : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) => Eq.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) y) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B))))) b (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)))) b (rfl.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) b)))))) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.fromCoset.{u1} A B f (Subtype.mk.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Membership.Mem.{u1, u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.hasMem.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) x (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B))))) (HMul.hMul.{u1, u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (instHMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) x b) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))) (Exists.intro.{succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (fun (y : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) => Eq.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) y) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B))))) (HMul.hMul.{u1, u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (instHMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) x b) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)))) (HMul.hMul.{u1, u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (instHMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) x b) (rfl.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) (HMul.hMul.{u1, u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (instHMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) x b))))))))
-but is expected to have type
-  forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} instGroupCatLargeCategory.{u1})) A B) (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B), (Membership.mem.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Subgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)) (SetLike.instMembership.{u1, u1} (Subgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Subgroup.instSetLikeSubgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))) x (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)) -> (forall (b : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B), (Not (Membership.mem.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Subgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)) (SetLike.instMembership.{u1, u1} (Subgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Subgroup.instSetLikeSubgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))) b (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))) -> (Eq.{succ u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) => GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.fromCoset.{u1} A B f (Subtype.mk.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) x (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))))) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) b (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))) (Exists.intro.{succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (y : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) y) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) b (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))))) b (rfl.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) b)))))) (FunLike.coe.{succ u1, succ u1, succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) x) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (fun (_x : GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) => GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) _x) (Equiv.instFunLikeEquiv.{succ u1, succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (FunLike.coe.{succ u1, succ u1, succ u1} (MonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (_x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) _x) (MulHomClass.toFunLike.{u1, u1, u1} (MonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) (MulOneClass.toMul.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (MonoidHomClass.toMulHomClass.{u1, u1, u1} (MonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f))))) (MonoidHom.monoidHomClass.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))))) (GroupCat.SurjectiveOfEpiAuxs.h.{u1} A B f) x) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.fromCoset.{u1} A B f (Subtype.mk.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) x (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))))) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) b (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))) (Exists.intro.{succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (y : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) y) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) b (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))))) b (rfl.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) b)))))) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.fromCoset.{u1} A B f (Subtype.mk.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) x (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))))) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) (HMul.hMul.{u1, u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (instHMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) x b) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))) (Exists.intro.{succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (y : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) y) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) (HMul.hMul.{u1, u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (instHMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) x b) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))))) (HMul.hMul.{u1, u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (instHMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) x b) (rfl.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) (HMul.hMul.{u1, u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (instHMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) x b))))))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align Group.surjective_of_epi_auxs.h_apply_from_coset_nin_range GroupCat.SurjectiveOfEpiAuxs.h_apply_fromCoset_nin_rangeₓ'. -/
 theorem h_apply_fromCoset_nin_range (x : B) (hx : x ∈ f.range) (b : B) (hb : b ∉ f.range) :
     (h x) (fromCoset ⟨b *l f.range.carrier, ⟨b, rfl⟩⟩) =
@@ -394,10 +373,7 @@ theorem h_apply_fromCoset_nin_range (x : B) (hx : x ∈ f.range) (b : B) (hb : b
 #align Group.surjective_of_epi_auxs.h_apply_from_coset_nin_range GroupCat.SurjectiveOfEpiAuxs.h_apply_fromCoset_nin_range
 
 /- warning: Group.surjective_of_epi_auxs.agree -> GroupCat.SurjectiveOfEpiAuxs.agree is a dubious translation:
-lean 3 declaration is
-  forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1})) A B), Eq.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) (setOf.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) => Eq.{succ u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (coeFn.{succ u1, succ u1} (MonoidHom.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (GroupCat.group.{u1} B)))) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (fun (_x : MonoidHom.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (GroupCat.group.{u1} B)))) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) => (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) -> (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f))) (MonoidHom.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (GroupCat.group.{u1} B)))) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (GroupCat.SurjectiveOfEpiAuxs.h.{u1} A B f) x) (coeFn.{succ u1, succ u1} (MonoidHom.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (GroupCat.group.{u1} B)))) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (fun (_x : MonoidHom.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (GroupCat.group.{u1} B)))) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) => (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) -> (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f))) (MonoidHom.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (GroupCat.group.{u1} B)))) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (GroupCat.SurjectiveOfEpiAuxs.g.{u1} A B f) x)))
-but is expected to have type
-  forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} instGroupCatLargeCategory.{u1})) A B), Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) (setOf.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) x) (FunLike.coe.{succ u1, succ u1, succ u1} (MonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (_x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) _x) (MulHomClass.toFunLike.{u1, u1, u1} (MonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) (MulOneClass.toMul.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (MonoidHomClass.toMulHomClass.{u1, u1, u1} (MonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f))))) (MonoidHom.monoidHomClass.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))))) (GroupCat.SurjectiveOfEpiAuxs.h.{u1} A B f) x) (FunLike.coe.{succ u1, succ u1, succ u1} (MonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (_x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) _x) (MulHomClass.toFunLike.{u1, u1, u1} (MonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) (MulOneClass.toMul.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (MonoidHomClass.toMulHomClass.{u1, u1, u1} (MonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f))))) (MonoidHom.monoidHomClass.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))))) (GroupCat.SurjectiveOfEpiAuxs.g.{u1} A B f) x)))
+<too large>
 Case conversion may be inaccurate. Consider using '#align Group.surjective_of_epi_auxs.agree GroupCat.SurjectiveOfEpiAuxs.agreeₓ'. -/
 theorem agree : f.range.carrier = { x | h x = g x } :=
   by
@@ -574,10 +550,7 @@ theorem mono_iff_ker_eq_bot : Mono f ↔ f.ker = ⊥ :=
 #align AddCommGroup.mono_iff_ker_eq_bot AddCommGroupCat.mono_iff_ker_eq_bot
 
 /- warning: CommGroup.mono_iff_injective -> CommGroupCat.mono_iff_injective is a dubious translation:
-lean 3 declaration is
-  forall {A : CommGroupCat.{u1}} {B : CommGroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} CommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} CommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} CommGroupCat.{u1} CommGroupCat.largeCategory.{u1})) A B), Iff (CategoryTheory.Mono.{u1, succ u1} CommGroupCat.{u1} CommGroupCat.largeCategory.{u1} A B f) (Function.Injective.{succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} CommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} CommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} CommGroupCat.{u1} CommGroupCat.largeCategory.{u1})) A B) (fun (_x : MonoidHom.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (Group.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (CommGroup.toGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (CategoryTheory.Bundled.str.{u1, u1} CommGroup.{u1} A)))) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (Group.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (CommGroup.toGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (CategoryTheory.Bundled.str.{u1, u1} CommGroup.{u1} B))))) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B)) (MonoidHom.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (Group.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (CommGroup.toGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (CategoryTheory.Bundled.str.{u1, u1} CommGroup.{u1} A)))) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (Group.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (CommGroup.toGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (CategoryTheory.Bundled.str.{u1, u1} CommGroup.{u1} B))))) f))
-but is expected to have type
-  forall {A : CommGroupCat.{u1}} {B : CommGroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} CommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} CommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} CommGroupCat.{u1} instCommGroupCatLargeCategory.{u1})) A B), Iff (CategoryTheory.Mono.{u1, succ u1} CommGroupCat.{u1} instCommGroupCatLargeCategory.{u1} A B f) (Function.Injective.{succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (FunLike.coe.{succ u1, succ u1, succ u1} (MonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CommGroup.toGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CommGroupCat.commGroupInstance.{u1} A))))) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (CommGroup.toGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (CommGroupCat.commGroupInstance.{u1} B)))))) (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (fun (_x : CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) => CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) _x) (MulHomClass.toFunLike.{u1, u1, u1} (MonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CommGroup.toGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CommGroupCat.commGroupInstance.{u1} A))))) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (CommGroup.toGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (CommGroupCat.commGroupInstance.{u1} B)))))) (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CommGroup.toGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CommGroupCat.commGroupInstance.{u1} A)))))) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (CommGroup.toGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (CommGroupCat.commGroupInstance.{u1} B)))))) (MonoidHomClass.toMulHomClass.{u1, u1, u1} (MonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CommGroup.toGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CommGroupCat.commGroupInstance.{u1} A))))) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (CommGroup.toGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (CommGroupCat.commGroupInstance.{u1} B)))))) (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CommGroup.toGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CommGroupCat.commGroupInstance.{u1} A))))) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (CommGroup.toGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (CommGroupCat.commGroupInstance.{u1} B))))) (MonoidHom.monoidHomClass.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CommGroup.toGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CommGroupCat.commGroupInstance.{u1} A))))) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (CommGroup.toGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (CommGroupCat.commGroupInstance.{u1} B)))))))) f))
+<too large>
 Case conversion may be inaccurate. Consider using '#align CommGroup.mono_iff_injective CommGroupCat.mono_iff_injectiveₓ'. -/
 @[to_additive AddCommGroupCat.mono_iff_injective]
 theorem mono_iff_injective : Mono f ↔ Function.Injective f :=
@@ -612,10 +585,7 @@ theorem epi_iff_range_eq_top : Epi f ↔ f.range = ⊤ :=
 #align AddCommGroup.epi_iff_range_eq_top AddCommGroupCat.epi_iff_range_eq_top
 
 /- warning: CommGroup.epi_iff_surjective -> CommGroupCat.epi_iff_surjective is a dubious translation:
-lean 3 declaration is
-  forall {A : CommGroupCat.{u1}} {B : CommGroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} CommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} CommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} CommGroupCat.{u1} CommGroupCat.largeCategory.{u1})) A B), Iff (CategoryTheory.Epi.{u1, succ u1} CommGroupCat.{u1} CommGroupCat.largeCategory.{u1} A B f) (Function.Surjective.{succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} CommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} CommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} CommGroupCat.{u1} CommGroupCat.largeCategory.{u1})) A B) (fun (_x : MonoidHom.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (Group.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (CommGroup.toGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (CategoryTheory.Bundled.str.{u1, u1} CommGroup.{u1} A)))) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (Group.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (CommGroup.toGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (CategoryTheory.Bundled.str.{u1, u1} CommGroup.{u1} B))))) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B)) (MonoidHom.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (Group.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (CommGroup.toGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (CategoryTheory.Bundled.str.{u1, u1} CommGroup.{u1} A)))) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (Group.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (CommGroup.toGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (CategoryTheory.Bundled.str.{u1, u1} CommGroup.{u1} B))))) f))
-but is expected to have type
-  forall {A : CommGroupCat.{u1}} {B : CommGroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} CommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} CommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} CommGroupCat.{u1} instCommGroupCatLargeCategory.{u1})) A B), Iff (CategoryTheory.Epi.{u1, succ u1} CommGroupCat.{u1} instCommGroupCatLargeCategory.{u1} A B f) (Function.Surjective.{succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (FunLike.coe.{succ u1, succ u1, succ u1} (MonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CommGroup.toGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CommGroupCat.commGroupInstance.{u1} A))))) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (CommGroup.toGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (CommGroupCat.commGroupInstance.{u1} B)))))) (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (fun (_x : CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) => CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) _x) (MulHomClass.toFunLike.{u1, u1, u1} (MonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CommGroup.toGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CommGroupCat.commGroupInstance.{u1} A))))) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (CommGroup.toGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (CommGroupCat.commGroupInstance.{u1} B)))))) (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CommGroup.toGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CommGroupCat.commGroupInstance.{u1} A)))))) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (CommGroup.toGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (CommGroupCat.commGroupInstance.{u1} B)))))) (MonoidHomClass.toMulHomClass.{u1, u1, u1} (MonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CommGroup.toGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CommGroupCat.commGroupInstance.{u1} A))))) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (CommGroup.toGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (CommGroupCat.commGroupInstance.{u1} B)))))) (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CommGroup.toGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CommGroupCat.commGroupInstance.{u1} A))))) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (CommGroup.toGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (CommGroupCat.commGroupInstance.{u1} B))))) (MonoidHom.monoidHomClass.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CommGroup.toGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CommGroupCat.commGroupInstance.{u1} A))))) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (CommGroup.toGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (CommGroupCat.commGroupInstance.{u1} B)))))))) f))
+<too large>
 Case conversion may be inaccurate. Consider using '#align CommGroup.epi_iff_surjective CommGroupCat.epi_iff_surjectiveₓ'. -/
 @[to_additive]
 theorem epi_iff_surjective : Epi f ↔ Function.Surjective f := by
Diff
@@ -116,7 +116,7 @@ theorem mono_iff_ker_eq_bot : Mono f ↔ f.ker = ⊥ :=
 lean 3 declaration is
   forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1})) A B), Iff (CategoryTheory.Mono.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1} A B f) (Function.Injective.{succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1})) A B) (fun (_x : MonoidHom.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (Group.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (CategoryTheory.Bundled.str.{u1, u1} Group.{u1} A))) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (CategoryTheory.Bundled.str.{u1, u1} Group.{u1} B)))) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (MonoidHom.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (Group.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (CategoryTheory.Bundled.str.{u1, u1} Group.{u1} A))) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (CategoryTheory.Bundled.str.{u1, u1} Group.{u1} B)))) f))
 but is expected to have type
-  forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} instGroupCatLargeCategory.{u1})) A B), Iff (CategoryTheory.Mono.{u1, succ u1} GroupCat.{u1} instGroupCatLargeCategory.{u1} A B f) (Function.Injective.{succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (FunLike.coe.{succ u1, succ u1, succ u1} (MonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A)))) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (fun (_x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) => CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) _x) (MulHomClass.toFunLike.{u1, u1, u1} (MonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A)))) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A))))) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (MonoidHomClass.toMulHomClass.{u1, u1, u1} (MonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A)))) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A)))) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (MonoidHom.monoidHomClass.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A)))) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))))) f))
+  forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} instGroupCatLargeCategory.{u1})) A B), Iff (CategoryTheory.Mono.{u1, succ u1} GroupCat.{u1} instGroupCatLargeCategory.{u1} A B f) (Function.Injective.{succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (FunLike.coe.{succ u1, succ u1, succ u1} (MonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A)))) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (fun (_x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) => CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) _x) (MulHomClass.toFunLike.{u1, u1, u1} (MonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A)))) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A))))) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (MonoidHomClass.toMulHomClass.{u1, u1, u1} (MonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A)))) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A)))) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (MonoidHom.monoidHomClass.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A)))) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))))) f))
 Case conversion may be inaccurate. Consider using '#align Group.mono_iff_injective GroupCat.mono_iff_injectiveₓ'. -/
 @[to_additive AddGroupCat.mono_iff_injective]
 theorem mono_iff_injective : Mono f ↔ Function.Injective f :=
@@ -331,7 +331,7 @@ warning: Group.surjective_of_epi_auxs.g_apply_from_coset -> GroupCat.SurjectiveO
 lean 3 declaration is
   forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1})) A B) (x : coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (y : coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) Type.{u1} (Set.hasCoeToSort.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))), Eq.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (coeFn.{succ u1, succ u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (fun (_x : Equiv.{succ u1, succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) => (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) -> (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.hasCoeToFun.{succ u1, succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (coeFn.{succ u1, succ u1} (MonoidHom.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (GroupCat.group.{u1} B)))) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (fun (_x : MonoidHom.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (GroupCat.group.{u1} B)))) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) => (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) -> (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f))) (MonoidHom.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (GroupCat.group.{u1} B)))) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (GroupCat.SurjectiveOfEpiAuxs.g.{u1} A B f) x) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.fromCoset.{u1} A B f y)) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.fromCoset.{u1} A B f (Subtype.mk.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Membership.Mem.{u1, u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.hasMem.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) x (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B))))) x ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) Type.{u1} (Set.hasCoeToSort.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) Type.{u1} (Set.hasCoeToSort.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (CoeTCₓ.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) Type.{u1} (Set.hasCoeToSort.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) Type.{u1} (Set.hasCoeToSort.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSubtype.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Membership.Mem.{u1, u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.hasMem.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) x (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))))))) y)) (Subtype.casesOn.{0, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Membership.Mem.{u1, u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.hasMem.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) x (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) (fun (y : coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) Type.{u1} (Set.hasCoeToSort.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) => Membership.Mem.{u1, u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.hasMem.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B))))) x ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) Type.{u1} (Set.hasCoeToSort.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) Type.{u1} (Set.hasCoeToSort.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (CoeTCₓ.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) Type.{u1} (Set.hasCoeToSort.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) Type.{u1} (Set.hasCoeToSort.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSubtype.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Membership.Mem.{u1, u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.hasMem.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) x (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))))))) y)) (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) y (fun (y_val : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (y_property : Membership.Mem.{u1, u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.hasMem.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) y_val (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) => Exists.dcases_on.{succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (fun (y : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) => Eq.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) y) y_val) (fun (y_property : Membership.Mem.{u1, u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.hasMem.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) y_val (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) => Membership.Mem.{u1, u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.hasMem.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B))))) x ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) Type.{u1} (Set.hasCoeToSort.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) Type.{u1} (Set.hasCoeToSort.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (CoeTCₓ.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) Type.{u1} (Set.hasCoeToSort.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) Type.{u1} (Set.hasCoeToSort.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSubtype.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Membership.Mem.{u1, u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.hasMem.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) x (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))))))) (Subtype.mk.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Membership.Mem.{u1, u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.hasMem.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) x (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) y_val y_property))) (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) y_property (fun (y_property_w : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y_property_h : Eq.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) y_property_w) y_val) => Eq.drec.{0, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) y_property_w) (fun (y_val : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (y_property_h : Eq.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) y_property_w) y_val) => Membership.Mem.{u1, u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.hasMem.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B))))) x ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) Type.{u1} (Set.hasCoeToSort.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) Type.{u1} (Set.hasCoeToSort.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (CoeTCₓ.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) Type.{u1} (Set.hasCoeToSort.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) Type.{u1} (Set.hasCoeToSort.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSubtype.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Membership.Mem.{u1, u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.hasMem.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) x (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))))))) (Subtype.mk.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Membership.Mem.{u1, u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.hasMem.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) x (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) y_val (Exists.intro.{succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (fun (y : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) => Eq.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) y) y_val) y_property_w y_property_h)))) (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) (id.{0} (forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1})) A B) (x : coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (y_property_w : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B), (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) -> (Membership.Mem.{u1, u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.hasMem.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B))))) x ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) Type.{u1} (Set.hasCoeToSort.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) Type.{u1} (Set.hasCoeToSort.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (CoeTCₓ.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) Type.{u1} (Set.hasCoeToSort.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) Type.{u1} (Set.hasCoeToSort.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSubtype.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Membership.Mem.{u1, u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.hasMem.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) x (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))))))) (Subtype.mk.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Membership.Mem.{u1, u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.hasMem.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) x (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) y_property_w) (Exists.intro.{succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (fun (y : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) => Eq.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) y) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) y_property_w)) y_property_w (rfl.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) y_property_w)))))) (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)))))) (fun {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1})) A B) (x : coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (y_property_w : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y_val : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Eq.mpr.{0} (Exists.{succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (fun (y : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) => Eq.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) y) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B))))) x (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) y_property_w)))) True (id_tag Tactic.IdTag.simp (Eq.{1} Prop (Exists.{succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (fun (y : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) => Eq.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) y) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B))))) x (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) y_property_w)))) True) (Eq.trans.{1} Prop (Exists.{succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (fun (y : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) => Eq.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) y) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B))))) x (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) y_property_w)))) (Exists.{succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (fun (y : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) => Eq.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) y) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B))))) (HMul.hMul.{u1, u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (instHMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) x y_property_w) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) True ((fun (p : (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) -> Prop) (p_1 : (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) -> Prop) (e_1 : Eq.{succ u1} ((coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) -> Prop) p p_1) => congr_arg.{succ u1, 1} ((coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) -> Prop) Prop p p_1 (Exists.{succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) e_1) (fun (y : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) => Eq.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) y) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B))))) x (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) y_property_w))) (fun (y : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) => Eq.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) y) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B))))) (HMul.hMul.{u1, u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (instHMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) x y_property_w) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)))) (funext.{succ u1, 1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) => Prop) (fun (x_1 : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) => Eq.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) x_1) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B))))) x (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) y_property_w))) (fun (x_1 : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) => Eq.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) x_1) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B))))) (HMul.hMul.{u1, u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (instHMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) x y_property_w) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)))) (fun (y : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) => (fun (a : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (a_1 : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (e_1 : Eq.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) a a_1) (ᾰ : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (ᾰ_1 : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (e_2 : Eq.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) ᾰ ᾰ_1) => congr.{succ u1, 1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) Prop (Eq.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) a) (Eq.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) a_1) ᾰ ᾰ_1 (congr_arg.{succ u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) ((Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) -> Prop) a a_1 (Eq.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) e_1) e_2) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) y) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) y) (rfl.{succ u1} ((fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) y (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) y)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B))))) x (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) y_property_w)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B))))) (HMul.hMul.{u1, u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (instHMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) x y_property_w) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))) (leftCoset_assoc.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toSemigroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) x y_property_w)))) (propext (Exists.{succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (fun (a : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) => Eq.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) ((fun (a : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) => Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) a) a) ((fun (a : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) => Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) a) (HMul.hMul.{u1, u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (instHMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) x y_property_w)))) True ((fun {α : Type.{u1}} {β : Type.{u1}} (f : α -> β) (a' : α) => iff_true_intro (Exists.{succ u1} α (fun (a : α) => Eq.{succ u1} β (f a) (f a'))) (exists_apply_eq_apply.{succ u1, succ u1} α β f a')) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (a : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) => Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) a) (HMul.hMul.{u1, u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (instHMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) x y_property_w))))) trivial) A B f x y_property_w y_val) y_val y_property_h)))))
 but is expected to have type
-  forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} instGroupCatLargeCategory.{u1})) A B) (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.Elem.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))))), Eq.{succ u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) => GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.fromCoset.{u1} A B f y)) (FunLike.coe.{succ u1, succ u1, succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) x) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (fun (_x : GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) => GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) _x) (Equiv.instFunLikeEquiv.{succ u1, succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (FunLike.coe.{succ u1, succ u1, succ u1} (MonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (_x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) _x) (MulHomClass.toFunLike.{u1, u1, u1} (MonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) (MulOneClass.toMul.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (MonoidHomClass.toMulHomClass.{u1, u1, u1} (MonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f))))) (MonoidHom.monoidHomClass.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))))) (GroupCat.SurjectiveOfEpiAuxs.g.{u1} A B f) x) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.fromCoset.{u1} A B f y)) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.fromCoset.{u1} A B f (Subtype.mk.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) x (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))))) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) x (Subtype.val.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) x (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))))) y)) (Eq.mpr.{0} (Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) x (Subtype.val.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) x (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))))) y)) (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))))) (Exists.{succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (y_1 : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) y_1) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) x (Subtype.val.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) x (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))))) y)))) (id.{0} (Eq.{1} Prop (Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) x (Subtype.val.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) x (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))))) y)) (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))))) (Exists.{succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (y_1 : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) y_1) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) x (Subtype.val.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) x (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))))) y))))) (Mathlib.Data.Set.Image._auxLemma.18.{succ u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) x (Subtype.val.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) x (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))))) y)))) (Subtype.casesOn.{0, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) x (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))))) (fun (h : Set.Elem.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))))) => Exists.{succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (y : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) y) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) x (Subtype.val.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) x (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))))) h)))) y (fun (val : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (property : Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) val (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))))) => Exists.casesOn.{succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (y : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) y) val) (fun (h : Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) val (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))))) => Exists.{succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (y : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) y) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) x (Subtype.val.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) x (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))))) (Subtype.mk.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) x (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))))) val h))))) property (fun (w : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (h : Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) w) val) => Eq.rec.{0, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) w) (fun (val : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (h : Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) w) val) => Exists.{succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (y : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) y) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) x (Subtype.val.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) x (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))))) (Subtype.mk.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) x (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))))) val (Exists.intro.{succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (y : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) y) val) w h)))))) (of_eq_true (Exists.{succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (x_1 : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) x_1) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Semigroup.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toSemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) x (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Semigroup.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toSemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) w (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))))))) (Eq.trans.{1} Prop (Exists.{succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (x_1 : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) x_1) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Semigroup.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toSemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) x (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Semigroup.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toSemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) w (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))))))) (Exists.{succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (x_1 : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) x_1) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Semigroup.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toSemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (HMul.hMul.{u1, u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (instHMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Semigroup.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toSemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))))) x w) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))))) True (congrArg.{succ u1, 1} ((CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) -> Prop) Prop (fun (x_1 : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) x_1) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Semigroup.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toSemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) x (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Semigroup.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toSemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) w (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))))) (fun (x_1 : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) x_1) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Semigroup.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toSemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (HMul.hMul.{u1, u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (instHMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Semigroup.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toSemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))))) x w) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))))) (Exists.{succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (funext.{succ u1, 1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Prop) (fun (x_1 : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) x_1) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Semigroup.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toSemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) x (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Semigroup.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toSemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) w (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))))) (fun (x_1 : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) x_1) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Semigroup.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toSemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (HMul.hMul.{u1, u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (instHMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Semigroup.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toSemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))))) x w) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))))) (fun (y : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => congrArg.{succ u1, 1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) Prop (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Semigroup.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toSemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) x (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Semigroup.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toSemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) w (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))))) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Semigroup.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toSemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (HMul.hMul.{u1, u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (instHMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Semigroup.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toSemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))))) x w) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))) (Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) y)) (leftCoset_assoc.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toSemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) x w)))) (Std.Logic._auxLemma.52.{succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (a : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) a) (HMul.hMul.{u1, u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (instHMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Semigroup.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toSemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))))) x w)))) val h))))))
+  forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} instGroupCatLargeCategory.{u1})) A B) (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.Elem.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))))), Eq.{succ u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) => GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.fromCoset.{u1} A B f y)) (FunLike.coe.{succ u1, succ u1, succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) x) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (fun (_x : GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) => GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) _x) (Equiv.instFunLikeEquiv.{succ u1, succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (FunLike.coe.{succ u1, succ u1, succ u1} (MonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (_x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) _x) (MulHomClass.toFunLike.{u1, u1, u1} (MonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) (MulOneClass.toMul.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (MonoidHomClass.toMulHomClass.{u1, u1, u1} (MonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f))))) (MonoidHom.monoidHomClass.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))))) (GroupCat.SurjectiveOfEpiAuxs.g.{u1} A B f) x) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.fromCoset.{u1} A B f y)) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.fromCoset.{u1} A B f (Subtype.mk.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) x (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))))) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) x (Subtype.val.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) x (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))))) y)) (Eq.mpr.{0} (Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) x (Subtype.val.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) x (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))))) y)) (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))))) (Exists.{succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (y_1 : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) y_1) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) x (Subtype.val.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) x (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))))) y)))) (id.{0} (Eq.{1} Prop (Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) x (Subtype.val.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) x (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))))) y)) (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))))) (Exists.{succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (y_1 : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) y_1) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) x (Subtype.val.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) x (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))))) y))))) (Mathlib.Data.Set.Image._auxLemma.18.{succ u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) x (Subtype.val.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) x (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))))) y)))) (Subtype.casesOn.{0, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) x (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))))) (fun (h : Set.Elem.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))))) => Exists.{succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (y : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) y) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) x (Subtype.val.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) x (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))))) h)))) y (fun (val : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (property : Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) val (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))))) => Exists.casesOn.{succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (y : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) y) val) (fun (h : Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) val (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))))) => Exists.{succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (y : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) y) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) x (Subtype.val.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) x (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))))) (Subtype.mk.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) x (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))))) val h))))) property (fun (w : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (h : Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) w) val) => Eq.rec.{0, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) w) (fun (val : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (h : Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) w) val) => Exists.{succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (y : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) y) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) x (Subtype.val.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) x (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))))) (Subtype.mk.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) x (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))))) val (Exists.intro.{succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (y : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) y) val) w h)))))) (of_eq_true (Exists.{succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (x_1 : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) x_1) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Semigroup.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toSemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) x (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Semigroup.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toSemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) w (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))))))) (Eq.trans.{1} Prop (Exists.{succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (x_1 : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) x_1) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Semigroup.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toSemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) x (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Semigroup.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toSemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) w (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))))))) (Exists.{succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (x_1 : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) x_1) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Semigroup.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toSemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (HMul.hMul.{u1, u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (instHMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Semigroup.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toSemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))))) x w) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))))) True (congrArg.{succ u1, 1} ((CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) -> Prop) Prop (fun (x_1 : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) x_1) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Semigroup.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toSemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) x (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Semigroup.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toSemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) w (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))))) (fun (x_1 : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) x_1) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Semigroup.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toSemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (HMul.hMul.{u1, u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (instHMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Semigroup.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toSemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))))) x w) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))))) (Exists.{succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (funext.{succ u1, 1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Prop) (fun (x_1 : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) x_1) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Semigroup.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toSemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) x (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Semigroup.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toSemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) w (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))))) (fun (x_1 : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) x_1) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Semigroup.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toSemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (HMul.hMul.{u1, u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (instHMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Semigroup.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toSemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))))) x w) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))))) (fun (y : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => congrArg.{succ u1, 1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) Prop (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Semigroup.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toSemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) x (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Semigroup.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toSemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) w (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))))) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Semigroup.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toSemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (HMul.hMul.{u1, u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (instHMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Semigroup.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toSemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))))) x w) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))) (Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) y)) (leftCoset_assoc.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toSemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) x w)))) (Std.Logic._auxLemma.52.{succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (a : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) a) (HMul.hMul.{u1, u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (instHMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Semigroup.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toSemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))))) x w)))) val h))))))
 Case conversion may be inaccurate. Consider using '#align Group.surjective_of_epi_auxs.g_apply_from_coset GroupCat.SurjectiveOfEpiAuxs.g_apply_fromCosetₓ'. -/
 theorem g_apply_fromCoset (x : B) (y : X) : (g x) (fromCoset y) = fromCoset ⟨x *l y, by tidy⟩ :=
   rfl
@@ -347,7 +347,7 @@ theorem g_apply_infinity (x : B) : (g x) ∞ = ∞ :=
 lean 3 declaration is
   forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1})) A B) (x : coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B), (Membership.Mem.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Subgroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)) (SetLike.hasMem.{u1, u1} (Subgroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Subgroup.setLike.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B))) x (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) -> (Eq.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (coeFn.{succ u1, succ u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (fun (_x : Equiv.{succ u1, succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) => (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) -> (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.hasCoeToFun.{succ u1, succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (coeFn.{succ u1, succ u1} (MonoidHom.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (GroupCat.group.{u1} B)))) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (fun (_x : MonoidHom.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (GroupCat.group.{u1} B)))) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) => (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) -> (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f))) (MonoidHom.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (GroupCat.group.{u1} B)))) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (GroupCat.SurjectiveOfEpiAuxs.h.{u1} A B f) x) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.infinity.{u1} A B f)) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.infinity.{u1} A B f))
 but is expected to have type
-  forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} instGroupCatLargeCategory.{u1})) A B) (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B), (Membership.mem.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Subgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)) (SetLike.instMembership.{u1, u1} (Subgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Subgroup.instSetLikeSubgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))) x (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)) -> (Eq.{succ u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) => GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.infinity.{u1} A B f)) (FunLike.coe.{succ u1, succ u1, succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) x) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (fun (_x : GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) => GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) _x) (Equiv.instFunLikeEquiv.{succ u1, succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (FunLike.coe.{succ u1, succ u1, succ u1} (MonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (_x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) _x) (MulHomClass.toFunLike.{u1, u1, u1} (MonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) (MulOneClass.toMul.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (MonoidHomClass.toMulHomClass.{u1, u1, u1} (MonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f))))) (MonoidHom.monoidHomClass.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))))) (GroupCat.SurjectiveOfEpiAuxs.h.{u1} A B f) x) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.infinity.{u1} A B f)) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.infinity.{u1} A B f))
+  forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} instGroupCatLargeCategory.{u1})) A B) (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B), (Membership.mem.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Subgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)) (SetLike.instMembership.{u1, u1} (Subgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Subgroup.instSetLikeSubgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))) x (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)) -> (Eq.{succ u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) => GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.infinity.{u1} A B f)) (FunLike.coe.{succ u1, succ u1, succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) x) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (fun (_x : GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) => GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) _x) (Equiv.instFunLikeEquiv.{succ u1, succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (FunLike.coe.{succ u1, succ u1, succ u1} (MonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (_x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) _x) (MulHomClass.toFunLike.{u1, u1, u1} (MonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) (MulOneClass.toMul.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (MonoidHomClass.toMulHomClass.{u1, u1, u1} (MonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f))))) (MonoidHom.monoidHomClass.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))))) (GroupCat.SurjectiveOfEpiAuxs.h.{u1} A B f) x) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.infinity.{u1} A B f)) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.infinity.{u1} A B f))
 Case conversion may be inaccurate. Consider using '#align Group.surjective_of_epi_auxs.h_apply_infinity GroupCat.SurjectiveOfEpiAuxs.h_apply_infinityₓ'. -/
 theorem h_apply_infinity (x : B) (hx : x ∈ f.range) : (h x) ∞ = ∞ :=
   by
@@ -377,7 +377,7 @@ warning: Group.surjective_of_epi_auxs.h_apply_from_coset_nin_range -> GroupCat.S
 lean 3 declaration is
   forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1})) A B) (x : coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B), (Membership.Mem.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Subgroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)) (SetLike.hasMem.{u1, u1} (Subgroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Subgroup.setLike.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B))) x (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) -> (forall (b : coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B), (Not (Membership.Mem.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Subgroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)) (SetLike.hasMem.{u1, u1} (Subgroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Subgroup.setLike.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B))) b (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))) -> (Eq.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (coeFn.{succ u1, succ u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (fun (_x : Equiv.{succ u1, succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) => (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) -> (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.hasCoeToFun.{succ u1, succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (coeFn.{succ u1, succ u1} (MonoidHom.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (GroupCat.group.{u1} B)))) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (fun (_x : MonoidHom.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (GroupCat.group.{u1} B)))) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) => (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) -> (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f))) (MonoidHom.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (GroupCat.group.{u1} B)))) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (GroupCat.SurjectiveOfEpiAuxs.h.{u1} A B f) x) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.fromCoset.{u1} A B f (Subtype.mk.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Membership.Mem.{u1, u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.hasMem.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) x (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B))))) b (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))) (Exists.intro.{succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (fun (y : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) => Eq.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) y) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B))))) b (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)))) b (rfl.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) b)))))) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.fromCoset.{u1} A B f (Subtype.mk.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Membership.Mem.{u1, u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.hasMem.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) x (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B))))) (HMul.hMul.{u1, u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (instHMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) x b) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))) (Exists.intro.{succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (fun (y : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) => Eq.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) y) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B))))) (HMul.hMul.{u1, u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (instHMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) x b) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)))) (HMul.hMul.{u1, u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (instHMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) x b) (rfl.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) (HMul.hMul.{u1, u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (instHMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) x b))))))))
 but is expected to have type
-  forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} instGroupCatLargeCategory.{u1})) A B) (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B), (Membership.mem.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Subgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)) (SetLike.instMembership.{u1, u1} (Subgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Subgroup.instSetLikeSubgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))) x (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)) -> (forall (b : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B), (Not (Membership.mem.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Subgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)) (SetLike.instMembership.{u1, u1} (Subgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Subgroup.instSetLikeSubgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))) b (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))) -> (Eq.{succ u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) => GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.fromCoset.{u1} A B f (Subtype.mk.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) x (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))))) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) b (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))) (Exists.intro.{succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (y : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) y) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) b (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))))) b (rfl.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) b)))))) (FunLike.coe.{succ u1, succ u1, succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) x) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (fun (_x : GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) => GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) _x) (Equiv.instFunLikeEquiv.{succ u1, succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (FunLike.coe.{succ u1, succ u1, succ u1} (MonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (_x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) _x) (MulHomClass.toFunLike.{u1, u1, u1} (MonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) (MulOneClass.toMul.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (MonoidHomClass.toMulHomClass.{u1, u1, u1} (MonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f))))) (MonoidHom.monoidHomClass.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))))) (GroupCat.SurjectiveOfEpiAuxs.h.{u1} A B f) x) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.fromCoset.{u1} A B f (Subtype.mk.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) x (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))))) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) b (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))) (Exists.intro.{succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (y : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) y) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) b (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))))) b (rfl.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) b)))))) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.fromCoset.{u1} A B f (Subtype.mk.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) x (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))))) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) (HMul.hMul.{u1, u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (instHMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) x b) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))) (Exists.intro.{succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (y : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) y) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) (HMul.hMul.{u1, u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (instHMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) x b) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))))) (HMul.hMul.{u1, u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (instHMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) x b) (rfl.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) (HMul.hMul.{u1, u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (instHMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) x b))))))))
+  forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} instGroupCatLargeCategory.{u1})) A B) (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B), (Membership.mem.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Subgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)) (SetLike.instMembership.{u1, u1} (Subgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Subgroup.instSetLikeSubgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))) x (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)) -> (forall (b : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B), (Not (Membership.mem.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Subgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)) (SetLike.instMembership.{u1, u1} (Subgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Subgroup.instSetLikeSubgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))) b (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))) -> (Eq.{succ u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) => GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.fromCoset.{u1} A B f (Subtype.mk.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) x (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))))) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) b (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))) (Exists.intro.{succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (y : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) y) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) b (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))))) b (rfl.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) b)))))) (FunLike.coe.{succ u1, succ u1, succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) x) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (fun (_x : GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) => GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) _x) (Equiv.instFunLikeEquiv.{succ u1, succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (FunLike.coe.{succ u1, succ u1, succ u1} (MonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (_x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) _x) (MulHomClass.toFunLike.{u1, u1, u1} (MonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) (MulOneClass.toMul.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (MonoidHomClass.toMulHomClass.{u1, u1, u1} (MonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f))))) (MonoidHom.monoidHomClass.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))))) (GroupCat.SurjectiveOfEpiAuxs.h.{u1} A B f) x) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.fromCoset.{u1} A B f (Subtype.mk.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) x (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))))) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) b (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))) (Exists.intro.{succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (y : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) y) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) b (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))))) b (rfl.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) b)))))) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.fromCoset.{u1} A B f (Subtype.mk.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) x (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))))) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) (HMul.hMul.{u1, u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (instHMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) x b) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))) (Exists.intro.{succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (y : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) y) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) (HMul.hMul.{u1, u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (instHMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) x b) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))))) (HMul.hMul.{u1, u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (instHMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) x b) (rfl.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) (HMul.hMul.{u1, u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (instHMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) x b))))))))
 Case conversion may be inaccurate. Consider using '#align Group.surjective_of_epi_auxs.h_apply_from_coset_nin_range GroupCat.SurjectiveOfEpiAuxs.h_apply_fromCoset_nin_rangeₓ'. -/
 theorem h_apply_fromCoset_nin_range (x : B) (hx : x ∈ f.range) (b : B) (hb : b ∉ f.range) :
     (h x) (fromCoset ⟨b *l f.range.carrier, ⟨b, rfl⟩⟩) =
@@ -397,7 +397,7 @@ theorem h_apply_fromCoset_nin_range (x : B) (hx : x ∈ f.range) (b : B) (hb : b
 lean 3 declaration is
   forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1})) A B), Eq.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) (setOf.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) => Eq.{succ u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (coeFn.{succ u1, succ u1} (MonoidHom.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (GroupCat.group.{u1} B)))) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (fun (_x : MonoidHom.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (GroupCat.group.{u1} B)))) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) => (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) -> (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f))) (MonoidHom.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (GroupCat.group.{u1} B)))) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (GroupCat.SurjectiveOfEpiAuxs.h.{u1} A B f) x) (coeFn.{succ u1, succ u1} (MonoidHom.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (GroupCat.group.{u1} B)))) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (fun (_x : MonoidHom.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (GroupCat.group.{u1} B)))) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) => (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) -> (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f))) (MonoidHom.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (GroupCat.group.{u1} B)))) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (GroupCat.SurjectiveOfEpiAuxs.g.{u1} A B f) x)))
 but is expected to have type
-  forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} instGroupCatLargeCategory.{u1})) A B), Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) (setOf.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) x) (FunLike.coe.{succ u1, succ u1, succ u1} (MonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (_x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) _x) (MulHomClass.toFunLike.{u1, u1, u1} (MonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) (MulOneClass.toMul.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (MonoidHomClass.toMulHomClass.{u1, u1, u1} (MonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f))))) (MonoidHom.monoidHomClass.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))))) (GroupCat.SurjectiveOfEpiAuxs.h.{u1} A B f) x) (FunLike.coe.{succ u1, succ u1, succ u1} (MonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (_x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) _x) (MulHomClass.toFunLike.{u1, u1, u1} (MonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) (MulOneClass.toMul.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (MonoidHomClass.toMulHomClass.{u1, u1, u1} (MonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f))))) (MonoidHom.monoidHomClass.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))))) (GroupCat.SurjectiveOfEpiAuxs.g.{u1} A B f) x)))
+  forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} instGroupCatLargeCategory.{u1})) A B), Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) (setOf.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) x) (FunLike.coe.{succ u1, succ u1, succ u1} (MonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (_x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) _x) (MulHomClass.toFunLike.{u1, u1, u1} (MonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) (MulOneClass.toMul.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (MonoidHomClass.toMulHomClass.{u1, u1, u1} (MonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f))))) (MonoidHom.monoidHomClass.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))))) (GroupCat.SurjectiveOfEpiAuxs.h.{u1} A B f) x) (FunLike.coe.{succ u1, succ u1, succ u1} (MonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (_x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) _x) (MulHomClass.toFunLike.{u1, u1, u1} (MonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) (MulOneClass.toMul.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (MonoidHomClass.toMulHomClass.{u1, u1, u1} (MonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f))))) (MonoidHom.monoidHomClass.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))))) (GroupCat.SurjectiveOfEpiAuxs.g.{u1} A B f) x)))
 Case conversion may be inaccurate. Consider using '#align Group.surjective_of_epi_auxs.agree GroupCat.SurjectiveOfEpiAuxs.agreeₓ'. -/
 theorem agree : f.range.carrier = { x | h x = g x } :=
   by
@@ -455,7 +455,7 @@ end SurjectiveOfEpiAuxs
 lean 3 declaration is
   forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1})) A B) [_inst_1 : CategoryTheory.Epi.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1} A B f], Function.Surjective.{succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1})) A B) (fun (_x : MonoidHom.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (Group.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (CategoryTheory.Bundled.str.{u1, u1} Group.{u1} A))) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (CategoryTheory.Bundled.str.{u1, u1} Group.{u1} B)))) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (MonoidHom.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (Group.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (CategoryTheory.Bundled.str.{u1, u1} Group.{u1} A))) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (CategoryTheory.Bundled.str.{u1, u1} Group.{u1} B)))) f)
 but is expected to have type
-  forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} instGroupCatLargeCategory.{u1})) A B) [_inst_1 : CategoryTheory.Epi.{u1, succ u1} GroupCat.{u1} instGroupCatLargeCategory.{u1} A B f], Function.Surjective.{succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (FunLike.coe.{succ u1, succ u1, succ u1} (MonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A)))) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (fun (_x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) => CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) _x) (MulHomClass.toFunLike.{u1, u1, u1} (MonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A)))) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A))))) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (MonoidHomClass.toMulHomClass.{u1, u1, u1} (MonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A)))) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A)))) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (MonoidHom.monoidHomClass.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A)))) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))))) f)
+  forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} instGroupCatLargeCategory.{u1})) A B) [_inst_1 : CategoryTheory.Epi.{u1, succ u1} GroupCat.{u1} instGroupCatLargeCategory.{u1} A B f], Function.Surjective.{succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (FunLike.coe.{succ u1, succ u1, succ u1} (MonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A)))) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (fun (_x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) => CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) _x) (MulHomClass.toFunLike.{u1, u1, u1} (MonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A)))) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A))))) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (MonoidHomClass.toMulHomClass.{u1, u1, u1} (MonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A)))) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A)))) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (MonoidHom.monoidHomClass.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A)))) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))))) f)
 Case conversion may be inaccurate. Consider using '#align Group.surjective_of_epi GroupCat.surjective_of_epiₓ'. -/
 theorem surjective_of_epi [Epi f] : Function.Surjective f :=
   by
@@ -471,7 +471,7 @@ theorem surjective_of_epi [Epi f] : Function.Surjective f :=
 lean 3 declaration is
   forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1})) A B), Iff (CategoryTheory.Epi.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1} A B f) (Function.Surjective.{succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1})) A B) (fun (_x : MonoidHom.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (Group.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (CategoryTheory.Bundled.str.{u1, u1} Group.{u1} A))) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (CategoryTheory.Bundled.str.{u1, u1} Group.{u1} B)))) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (MonoidHom.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (Group.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (CategoryTheory.Bundled.str.{u1, u1} Group.{u1} A))) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (CategoryTheory.Bundled.str.{u1, u1} Group.{u1} B)))) f))
 but is expected to have type
-  forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} instGroupCatLargeCategory.{u1})) A B), Iff (CategoryTheory.Epi.{u1, succ u1} GroupCat.{u1} instGroupCatLargeCategory.{u1} A B f) (Function.Surjective.{succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (FunLike.coe.{succ u1, succ u1, succ u1} (MonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A)))) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (fun (_x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) => CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) _x) (MulHomClass.toFunLike.{u1, u1, u1} (MonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A)))) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A))))) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (MonoidHomClass.toMulHomClass.{u1, u1, u1} (MonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A)))) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A)))) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (MonoidHom.monoidHomClass.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A)))) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))))) f))
+  forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} instGroupCatLargeCategory.{u1})) A B), Iff (CategoryTheory.Epi.{u1, succ u1} GroupCat.{u1} instGroupCatLargeCategory.{u1} A B f) (Function.Surjective.{succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (FunLike.coe.{succ u1, succ u1, succ u1} (MonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A)))) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (fun (_x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) => CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) _x) (MulHomClass.toFunLike.{u1, u1, u1} (MonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A)))) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A))))) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (MonoidHomClass.toMulHomClass.{u1, u1, u1} (MonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A)))) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A)))) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (MonoidHom.monoidHomClass.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A)))) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))))) f))
 Case conversion may be inaccurate. Consider using '#align Group.epi_iff_surjective GroupCat.epi_iff_surjectiveₓ'. -/
 theorem epi_iff_surjective : Epi f ↔ Function.Surjective f :=
   ⟨fun h => @surjective_of_epi f h, ConcreteCategory.epi_of_surjective _⟩
@@ -497,7 +497,7 @@ variable {A B : AddGroupCat.{u}} (f : A ⟶ B)
 lean 3 declaration is
   forall {A : AddGroupCat.{u1}} {B : AddGroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} AddGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddGroupCat.{u1} AddGroupCat.largeCategory.{u1})) A B), Iff (CategoryTheory.Epi.{u1, succ u1} AddGroupCat.{u1} AddGroupCat.largeCategory.{u1} A B f) (Function.Surjective.{succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddGroup.{u1}) A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddGroup.{u1}) B) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} AddGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddGroupCat.{u1} AddGroupCat.largeCategory.{u1})) A B) (fun (_x : AddMonoidHom.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddGroup.{u1}) A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddGroup.{u1}) B) (AddMonoid.toAddZeroClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddGroup.{u1}) A) (AddGroup.toAddMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddGroup.{u1}) A) (CategoryTheory.Bundled.str.{u1, u1} AddGroup.{u1} A))) (AddMonoid.toAddZeroClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddGroup.{u1}) B) (AddGroup.toAddMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddGroup.{u1}) B) (CategoryTheory.Bundled.str.{u1, u1} AddGroup.{u1} B)))) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddGroup.{u1}) A) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddGroup.{u1}) B)) (AddMonoidHom.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddGroup.{u1}) A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddGroup.{u1}) B) (AddMonoid.toAddZeroClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddGroup.{u1}) A) (AddGroup.toAddMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddGroup.{u1}) A) (CategoryTheory.Bundled.str.{u1, u1} AddGroup.{u1} A))) (AddMonoid.toAddZeroClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddGroup.{u1}) B) (AddGroup.toAddMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddGroup.{u1}) B) (CategoryTheory.Bundled.str.{u1, u1} AddGroup.{u1} B)))) f))
 but is expected to have type
-  forall {A : AddGroupCat.{u1}} {B : AddGroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} AddGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddGroupCat.{u1} instAddGroupCatLargeCategory.{u1})) A B), Iff (CategoryTheory.Epi.{u1, succ u1} AddGroupCat.{u1} instAddGroupCatLargeCategory.{u1} A B f) (Function.Surjective.{succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) (FunLike.coe.{succ u1, succ u1, succ u1} (AddMonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} A) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} A) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} A) (AddGroupCat.instGroupα.{u1} A)))) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) (AddGroupCat.instGroupα.{u1} B))))) (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} A) (fun (_x : CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} A) => CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) _x) (AddHomClass.toFunLike.{u1, u1, u1} (AddMonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} A) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} A) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} A) (AddGroupCat.instGroupα.{u1} A)))) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) (AddGroupCat.instGroupα.{u1} B))))) (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) (AddZeroClass.toAdd.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} A) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} A) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} A) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} A) (AddGroupCat.instGroupα.{u1} A))))) (AddZeroClass.toAdd.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) (AddGroupCat.instGroupα.{u1} B))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (AddMonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} A) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} A) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} A) (AddGroupCat.instGroupα.{u1} A)))) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) (AddGroupCat.instGroupα.{u1} B))))) (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} A) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} A) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} A) (AddGroupCat.instGroupα.{u1} A)))) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) (AddGroupCat.instGroupα.{u1} B)))) (AddMonoidHom.addMonoidHomClass.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} A) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} A) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} A) (AddGroupCat.instGroupα.{u1} A)))) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) (AddGroupCat.instGroupα.{u1} B))))))) f))
+  forall {A : AddGroupCat.{u1}} {B : AddGroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} AddGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddGroupCat.{u1} instAddGroupCatLargeCategory.{u1})) A B), Iff (CategoryTheory.Epi.{u1, succ u1} AddGroupCat.{u1} instAddGroupCatLargeCategory.{u1} A B f) (Function.Surjective.{succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) (FunLike.coe.{succ u1, succ u1, succ u1} (AddMonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} A) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} A) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} A) (AddGroupCat.instGroupα.{u1} A)))) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) (AddGroupCat.instGroupα.{u1} B))))) (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} A) (fun (_x : CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} A) => CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) _x) (AddHomClass.toFunLike.{u1, u1, u1} (AddMonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} A) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} A) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} A) (AddGroupCat.instGroupα.{u1} A)))) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) (AddGroupCat.instGroupα.{u1} B))))) (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) (AddZeroClass.toAdd.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} A) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} A) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} A) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} A) (AddGroupCat.instGroupα.{u1} A))))) (AddZeroClass.toAdd.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) (AddGroupCat.instGroupα.{u1} B))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (AddMonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} A) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} A) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} A) (AddGroupCat.instGroupα.{u1} A)))) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) (AddGroupCat.instGroupα.{u1} B))))) (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} A) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} A) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} A) (AddGroupCat.instGroupα.{u1} A)))) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) (AddGroupCat.instGroupα.{u1} B)))) (AddMonoidHom.addMonoidHomClass.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} A) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} A) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} A) (AddGroupCat.instGroupα.{u1} A)))) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) (AddGroupCat.instGroupα.{u1} B))))))) f))
 Case conversion may be inaccurate. Consider using '#align AddGroup.epi_iff_surjective AddGroupCat.epi_iff_surjectiveₓ'. -/
 theorem epi_iff_surjective : Epi f ↔ Function.Surjective f :=
   by
@@ -577,7 +577,7 @@ theorem mono_iff_ker_eq_bot : Mono f ↔ f.ker = ⊥ :=
 lean 3 declaration is
   forall {A : CommGroupCat.{u1}} {B : CommGroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} CommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} CommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} CommGroupCat.{u1} CommGroupCat.largeCategory.{u1})) A B), Iff (CategoryTheory.Mono.{u1, succ u1} CommGroupCat.{u1} CommGroupCat.largeCategory.{u1} A B f) (Function.Injective.{succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} CommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} CommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} CommGroupCat.{u1} CommGroupCat.largeCategory.{u1})) A B) (fun (_x : MonoidHom.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (Group.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (CommGroup.toGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (CategoryTheory.Bundled.str.{u1, u1} CommGroup.{u1} A)))) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (Group.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (CommGroup.toGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (CategoryTheory.Bundled.str.{u1, u1} CommGroup.{u1} B))))) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B)) (MonoidHom.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (Group.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (CommGroup.toGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (CategoryTheory.Bundled.str.{u1, u1} CommGroup.{u1} A)))) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (Group.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (CommGroup.toGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (CategoryTheory.Bundled.str.{u1, u1} CommGroup.{u1} B))))) f))
 but is expected to have type
-  forall {A : CommGroupCat.{u1}} {B : CommGroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} CommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} CommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} CommGroupCat.{u1} instCommGroupCatLargeCategory.{u1})) A B), Iff (CategoryTheory.Mono.{u1, succ u1} CommGroupCat.{u1} instCommGroupCatLargeCategory.{u1} A B f) (Function.Injective.{succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (FunLike.coe.{succ u1, succ u1, succ u1} (MonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CommGroup.toGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CommGroupCat.commGroupInstance.{u1} A))))) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (CommGroup.toGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (CommGroupCat.commGroupInstance.{u1} B)))))) (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (fun (_x : CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) => CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) _x) (MulHomClass.toFunLike.{u1, u1, u1} (MonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CommGroup.toGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CommGroupCat.commGroupInstance.{u1} A))))) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (CommGroup.toGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (CommGroupCat.commGroupInstance.{u1} B)))))) (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CommGroup.toGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CommGroupCat.commGroupInstance.{u1} A)))))) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (CommGroup.toGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (CommGroupCat.commGroupInstance.{u1} B)))))) (MonoidHomClass.toMulHomClass.{u1, u1, u1} (MonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CommGroup.toGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CommGroupCat.commGroupInstance.{u1} A))))) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (CommGroup.toGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (CommGroupCat.commGroupInstance.{u1} B)))))) (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CommGroup.toGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CommGroupCat.commGroupInstance.{u1} A))))) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (CommGroup.toGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (CommGroupCat.commGroupInstance.{u1} B))))) (MonoidHom.monoidHomClass.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CommGroup.toGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CommGroupCat.commGroupInstance.{u1} A))))) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (CommGroup.toGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (CommGroupCat.commGroupInstance.{u1} B)))))))) f))
+  forall {A : CommGroupCat.{u1}} {B : CommGroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} CommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} CommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} CommGroupCat.{u1} instCommGroupCatLargeCategory.{u1})) A B), Iff (CategoryTheory.Mono.{u1, succ u1} CommGroupCat.{u1} instCommGroupCatLargeCategory.{u1} A B f) (Function.Injective.{succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (FunLike.coe.{succ u1, succ u1, succ u1} (MonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CommGroup.toGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CommGroupCat.commGroupInstance.{u1} A))))) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (CommGroup.toGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (CommGroupCat.commGroupInstance.{u1} B)))))) (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (fun (_x : CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) => CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) _x) (MulHomClass.toFunLike.{u1, u1, u1} (MonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CommGroup.toGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CommGroupCat.commGroupInstance.{u1} A))))) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (CommGroup.toGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (CommGroupCat.commGroupInstance.{u1} B)))))) (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CommGroup.toGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CommGroupCat.commGroupInstance.{u1} A)))))) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (CommGroup.toGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (CommGroupCat.commGroupInstance.{u1} B)))))) (MonoidHomClass.toMulHomClass.{u1, u1, u1} (MonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CommGroup.toGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CommGroupCat.commGroupInstance.{u1} A))))) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (CommGroup.toGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (CommGroupCat.commGroupInstance.{u1} B)))))) (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CommGroup.toGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CommGroupCat.commGroupInstance.{u1} A))))) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (CommGroup.toGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (CommGroupCat.commGroupInstance.{u1} B))))) (MonoidHom.monoidHomClass.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CommGroup.toGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CommGroupCat.commGroupInstance.{u1} A))))) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (CommGroup.toGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (CommGroupCat.commGroupInstance.{u1} B)))))))) f))
 Case conversion may be inaccurate. Consider using '#align CommGroup.mono_iff_injective CommGroupCat.mono_iff_injectiveₓ'. -/
 @[to_additive AddCommGroupCat.mono_iff_injective]
 theorem mono_iff_injective : Mono f ↔ Function.Injective f :=
@@ -615,7 +615,7 @@ theorem epi_iff_range_eq_top : Epi f ↔ f.range = ⊤ :=
 lean 3 declaration is
   forall {A : CommGroupCat.{u1}} {B : CommGroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} CommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} CommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} CommGroupCat.{u1} CommGroupCat.largeCategory.{u1})) A B), Iff (CategoryTheory.Epi.{u1, succ u1} CommGroupCat.{u1} CommGroupCat.largeCategory.{u1} A B f) (Function.Surjective.{succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} CommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} CommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} CommGroupCat.{u1} CommGroupCat.largeCategory.{u1})) A B) (fun (_x : MonoidHom.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (Group.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (CommGroup.toGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (CategoryTheory.Bundled.str.{u1, u1} CommGroup.{u1} A)))) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (Group.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (CommGroup.toGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (CategoryTheory.Bundled.str.{u1, u1} CommGroup.{u1} B))))) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B)) (MonoidHom.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (Group.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (CommGroup.toGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (CategoryTheory.Bundled.str.{u1, u1} CommGroup.{u1} A)))) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (Group.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (CommGroup.toGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (CategoryTheory.Bundled.str.{u1, u1} CommGroup.{u1} B))))) f))
 but is expected to have type
-  forall {A : CommGroupCat.{u1}} {B : CommGroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} CommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} CommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} CommGroupCat.{u1} instCommGroupCatLargeCategory.{u1})) A B), Iff (CategoryTheory.Epi.{u1, succ u1} CommGroupCat.{u1} instCommGroupCatLargeCategory.{u1} A B f) (Function.Surjective.{succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (FunLike.coe.{succ u1, succ u1, succ u1} (MonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CommGroup.toGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CommGroupCat.commGroupInstance.{u1} A))))) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (CommGroup.toGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (CommGroupCat.commGroupInstance.{u1} B)))))) (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (fun (_x : CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) => CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) _x) (MulHomClass.toFunLike.{u1, u1, u1} (MonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CommGroup.toGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CommGroupCat.commGroupInstance.{u1} A))))) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (CommGroup.toGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (CommGroupCat.commGroupInstance.{u1} B)))))) (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CommGroup.toGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CommGroupCat.commGroupInstance.{u1} A)))))) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (CommGroup.toGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (CommGroupCat.commGroupInstance.{u1} B)))))) (MonoidHomClass.toMulHomClass.{u1, u1, u1} (MonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CommGroup.toGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CommGroupCat.commGroupInstance.{u1} A))))) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (CommGroup.toGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (CommGroupCat.commGroupInstance.{u1} B)))))) (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CommGroup.toGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CommGroupCat.commGroupInstance.{u1} A))))) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (CommGroup.toGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (CommGroupCat.commGroupInstance.{u1} B))))) (MonoidHom.monoidHomClass.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CommGroup.toGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CommGroupCat.commGroupInstance.{u1} A))))) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (CommGroup.toGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (CommGroupCat.commGroupInstance.{u1} B)))))))) f))
+  forall {A : CommGroupCat.{u1}} {B : CommGroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} CommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} CommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} CommGroupCat.{u1} instCommGroupCatLargeCategory.{u1})) A B), Iff (CategoryTheory.Epi.{u1, succ u1} CommGroupCat.{u1} instCommGroupCatLargeCategory.{u1} A B f) (Function.Surjective.{succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (FunLike.coe.{succ u1, succ u1, succ u1} (MonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CommGroup.toGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CommGroupCat.commGroupInstance.{u1} A))))) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (CommGroup.toGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (CommGroupCat.commGroupInstance.{u1} B)))))) (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (fun (_x : CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) => CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) _x) (MulHomClass.toFunLike.{u1, u1, u1} (MonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CommGroup.toGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CommGroupCat.commGroupInstance.{u1} A))))) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (CommGroup.toGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (CommGroupCat.commGroupInstance.{u1} B)))))) (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CommGroup.toGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CommGroupCat.commGroupInstance.{u1} A)))))) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (CommGroup.toGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (CommGroupCat.commGroupInstance.{u1} B)))))) (MonoidHomClass.toMulHomClass.{u1, u1, u1} (MonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CommGroup.toGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CommGroupCat.commGroupInstance.{u1} A))))) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (CommGroup.toGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (CommGroupCat.commGroupInstance.{u1} B)))))) (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CommGroup.toGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CommGroupCat.commGroupInstance.{u1} A))))) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (CommGroup.toGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (CommGroupCat.commGroupInstance.{u1} B))))) (MonoidHom.monoidHomClass.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CommGroup.toGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CommGroupCat.commGroupInstance.{u1} A))))) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (CommGroup.toGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (CommGroupCat.commGroupInstance.{u1} B)))))))) f))
 Case conversion may be inaccurate. Consider using '#align CommGroup.epi_iff_surjective CommGroupCat.epi_iff_surjectiveₓ'. -/
 @[to_additive]
 theorem epi_iff_surjective : Epi f ↔ Function.Surjective f := by
Diff
@@ -90,7 +90,7 @@ variable {A B : GroupCat.{u}} (f : A ⟶ B)
 lean 3 declaration is
   forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1})) A B) [_inst_1 : CategoryTheory.Mono.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1} A B f], Eq.{succ u1} (Subgroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A)) (MonoidHom.ker.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (CategoryTheory.Bundled.str.{u1, u1} Group.{u1} B))) f) (Bot.bot.{u1} (Subgroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A)) (Subgroup.hasBot.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A)))
 but is expected to have type
-  forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1})) A B) [_inst_1 : CategoryTheory.Mono.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1} A B f], Eq.{succ u1} (Subgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A)) (MonoidHom.ker.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) ((fun {α : Type.{u1}} (h : Group.{u1} α) => DivInvMonoid.toMonoid.{u1} α (Group.toDivInvMonoid.{u1} α h)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (CategoryTheory.Bundled.str.{u1, u1} Group.{u1} B))) f) (Bot.bot.{u1} (Subgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A)) (Subgroup.instBotSubgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A)))
+  forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} instGroupCatLargeCategory.{u1})) A B) [_inst_1 : CategoryTheory.Mono.{u1, succ u1} GroupCat.{u1} instGroupCatLargeCategory.{u1} A B f], Eq.{succ u1} (Subgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A)) (MonoidHom.ker.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) ((fun {α : Type.{u1}} (h : Group.{u1} α) => DivInvMonoid.toMonoid.{u1} α (Group.toDivInvMonoid.{u1} α h)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (CategoryTheory.Bundled.str.{u1, u1} Group.{u1} B))) f) (Bot.bot.{u1} (Subgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A)) (Subgroup.instBotSubgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A)))
 Case conversion may be inaccurate. Consider using '#align Group.ker_eq_bot_of_mono GroupCat.ker_eq_bot_of_monoₓ'. -/
 @[to_additive AddGroupCat.ker_eq_bot_of_mono]
 theorem ker_eq_bot_of_mono [Mono f] : f.ker = ⊥ :=
@@ -103,7 +103,7 @@ theorem ker_eq_bot_of_mono [Mono f] : f.ker = ⊥ :=
 lean 3 declaration is
   forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1})) A B), Iff (CategoryTheory.Mono.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1} A B f) (Eq.{succ u1} (Subgroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A)) (MonoidHom.ker.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (CategoryTheory.Bundled.str.{u1, u1} Group.{u1} B))) f) (Bot.bot.{u1} (Subgroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A)) (Subgroup.hasBot.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A))))
 but is expected to have type
-  forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1})) A B), Iff (CategoryTheory.Mono.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1} A B f) (Eq.{succ u1} (Subgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A)) (MonoidHom.ker.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) ((fun {α : Type.{u1}} (h : Group.{u1} α) => DivInvMonoid.toMonoid.{u1} α (Group.toDivInvMonoid.{u1} α h)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (CategoryTheory.Bundled.str.{u1, u1} Group.{u1} B))) f) (Bot.bot.{u1} (Subgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A)) (Subgroup.instBotSubgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A))))
+  forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} instGroupCatLargeCategory.{u1})) A B), Iff (CategoryTheory.Mono.{u1, succ u1} GroupCat.{u1} instGroupCatLargeCategory.{u1} A B f) (Eq.{succ u1} (Subgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A)) (MonoidHom.ker.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) ((fun {α : Type.{u1}} (h : Group.{u1} α) => DivInvMonoid.toMonoid.{u1} α (Group.toDivInvMonoid.{u1} α h)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (CategoryTheory.Bundled.str.{u1, u1} Group.{u1} B))) f) (Bot.bot.{u1} (Subgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A)) (Subgroup.instBotSubgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A))))
 Case conversion may be inaccurate. Consider using '#align Group.mono_iff_ker_eq_bot GroupCat.mono_iff_ker_eq_botₓ'. -/
 @[to_additive AddGroupCat.mono_iff_ker_eq_bot]
 theorem mono_iff_ker_eq_bot : Mono f ↔ f.ker = ⊥ :=
@@ -116,7 +116,7 @@ theorem mono_iff_ker_eq_bot : Mono f ↔ f.ker = ⊥ :=
 lean 3 declaration is
   forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1})) A B), Iff (CategoryTheory.Mono.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1} A B f) (Function.Injective.{succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1})) A B) (fun (_x : MonoidHom.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (Group.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (CategoryTheory.Bundled.str.{u1, u1} Group.{u1} A))) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (CategoryTheory.Bundled.str.{u1, u1} Group.{u1} B)))) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (MonoidHom.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (Group.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (CategoryTheory.Bundled.str.{u1, u1} Group.{u1} A))) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (CategoryTheory.Bundled.str.{u1, u1} Group.{u1} B)))) f))
 but is expected to have type
-  forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1})) A B), Iff (CategoryTheory.Mono.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1} A B f) (Function.Injective.{succ u1, succ u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} A) (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (CoeFun.coe.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1})) A B) (fun (_x : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1})) A B) => (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} A) -> (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B)) (GroupCat.instCoeFunHomGroupCatToQuiverToCategoryStructLargeCategoryForAllCoeTypeInstCoeSortGroupCatType.{u1} A B) f))
+  forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} instGroupCatLargeCategory.{u1})) A B), Iff (CategoryTheory.Mono.{u1, succ u1} GroupCat.{u1} instGroupCatLargeCategory.{u1} A B f) (Function.Injective.{succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (FunLike.coe.{succ u1, succ u1, succ u1} (MonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A)))) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (fun (_x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) => CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) _x) (MulHomClass.toFunLike.{u1, u1, u1} (MonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A)))) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A))))) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (MonoidHomClass.toMulHomClass.{u1, u1, u1} (MonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A)))) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A)))) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (MonoidHom.monoidHomClass.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A)))) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))))) f))
 Case conversion may be inaccurate. Consider using '#align Group.mono_iff_injective GroupCat.mono_iff_injectiveₓ'. -/
 @[to_additive AddGroupCat.mono_iff_injective]
 theorem mono_iff_injective : Mono f ↔ Function.Injective f :=
@@ -166,7 +166,7 @@ instance : SMul B X'
 lean 3 declaration is
   forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1})) A B) (b : coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (b' : coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (x : GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f), Eq.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (SMul.smul.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.hasSmul.{u1} A B f) (HMul.hMul.{u1, u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (instHMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (GroupCat.group.{u1} B)))))) b b') x) (SMul.smul.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.hasSmul.{u1} A B f) b (SMul.smul.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.hasSmul.{u1} A B f) b' x))
 but is expected to have type
-  forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1})) A B) (b : CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (b' : CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (x : GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f), Eq.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (HSMul.hSMul.{u1, u1, u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (instHSMul.{u1, u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.instSMulCoeGroupCatTypeInstCoeSortGroupCatTypeXWithInfinity.{u1} A B f)) (HMul.hMul.{u1, u1, u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (instHMul.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (MulOneClass.toMul.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Monoid.toMulOneClass.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (DivInvMonoid.toMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Group.toDivInvMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (GroupCat.instGroupCoeGroupCatTypeInstCoeSortGroupCatType.{u1} B)))))) b b') x) (HSMul.hSMul.{u1, u1, u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (instHSMul.{u1, u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.instSMulCoeGroupCatTypeInstCoeSortGroupCatTypeXWithInfinity.{u1} A B f)) b (HSMul.hSMul.{u1, u1, u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (instHSMul.{u1, u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.instSMulCoeGroupCatTypeInstCoeSortGroupCatTypeXWithInfinity.{u1} A B f)) b' x))
+  forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} instGroupCatLargeCategory.{u1})) A B) (b : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (b' : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (x : GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f), Eq.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (HSMul.hSMul.{u1, u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (instHSMul.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.instSMulαGroupXWithInfinity.{u1} A B f)) (HMul.hMul.{u1, u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (instHMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) b b') x) (HSMul.hSMul.{u1, u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (instHSMul.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.instSMulαGroupXWithInfinity.{u1} A B f)) b (HSMul.hSMul.{u1, u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (instHSMul.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.instSMulαGroupXWithInfinity.{u1} A B f)) b' x))
 Case conversion may be inaccurate. Consider using '#align Group.surjective_of_epi_auxs.mul_smul GroupCat.SurjectiveOfEpiAuxs.mul_smulₓ'. -/
 theorem mul_smul (b b' : B) (x : X') : (b * b') • x = b • b' • x :=
   match x with
@@ -180,7 +180,7 @@ theorem mul_smul (b b' : B) (x : X') : (b * b') • x = b • b' • x :=
 lean 3 declaration is
   forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1})) A B) (x : GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f), Eq.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (SMul.smul.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.hasSmul.{u1} A B f) (OfNat.ofNat.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) 1 (OfNat.mk.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) 1 (One.one.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (MulOneClass.toHasOne.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (GroupCat.group.{u1} B)))))))) x) x
 but is expected to have type
-  forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1})) A B) (x : GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f), Eq.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (HSMul.hSMul.{u1, u1, u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (instHSMul.{u1, u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.instSMulCoeGroupCatTypeInstCoeSortGroupCatTypeXWithInfinity.{u1} A B f)) (OfNat.ofNat.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) 1 (One.toOfNat1.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (InvOneClass.toOne.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (DivInvOneMonoid.toInvOneClass.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (DivisionMonoid.toDivInvOneMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Group.toDivisionMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (GroupCat.instGroupCoeGroupCatTypeInstCoeSortGroupCatType.{u1} B))))))) x) x
+  forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} instGroupCatLargeCategory.{u1})) A B) (x : GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f), Eq.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (HSMul.hSMul.{u1, u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (instHSMul.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.instSMulαGroupXWithInfinity.{u1} A B f)) (OfNat.ofNat.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) 1 (One.toOfNat1.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (InvOneClass.toOne.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvOneMonoid.toInvOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivisionMonoid.toDivInvOneMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivisionMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))))) x) x
 Case conversion may be inaccurate. Consider using '#align Group.surjective_of_epi_auxs.one_smul GroupCat.SurjectiveOfEpiAuxs.one_smulₓ'. -/
 theorem one_smul (x : X') : (1 : B) • x = x :=
   match x with
@@ -194,7 +194,7 @@ theorem one_smul (x : X') : (1 : B) • x = x :=
 lean 3 declaration is
   forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1})) A B) {b : coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B}, (Membership.Mem.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Subgroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)) (SetLike.hasMem.{u1, u1} (Subgroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Subgroup.setLike.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B))) b (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) -> (Eq.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.fromCoset.{u1} A B f (Subtype.mk.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Membership.Mem.{u1, u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.hasMem.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) x (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B))))) b (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))) (Exists.intro.{succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (fun (y : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) => Eq.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) y) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B))))) b (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)))) b (rfl.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) b))))) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.fromCoset.{u1} A B f (Subtype.mk.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Membership.Mem.{u1, u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.hasMem.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) x (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) (Exists.intro.{succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (fun (y : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) => Eq.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) y) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))) (OfNat.ofNat.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) 1 (OfNat.mk.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) 1 (One.one.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasOne.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))))) (one_leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)))))))
 but is expected to have type
-  forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1})) A B) {b : CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B}, (Membership.mem.{u1, u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Subgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)) (SetLike.instMembership.{u1, u1} (Subgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Subgroup.instSetLikeSubgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))) b (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f)) -> (Eq.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.fromCoset.{u1} A B f (Subtype.mk.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) x (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f))))))) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) b (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f))))) (Exists.intro.{succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (y : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f)))) y) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) b (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f)))))) b (rfl.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f)))) b))))) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.fromCoset.{u1} A B f (Subtype.mk.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) x (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f))))))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f)))) (Exists.intro.{succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (y : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f)))) y) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f))))) (OfNat.ofNat.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) 1 (One.toOfNat1.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (InvOneClass.toOne.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvOneMonoid.toInvOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivisionMonoid.toDivInvOneMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivisionMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))))) (one_leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f)))))))))
+  forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} instGroupCatLargeCategory.{u1})) A B) {b : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B}, (Membership.mem.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Subgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)) (SetLike.instMembership.{u1, u1} (Subgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Subgroup.instSetLikeSubgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))) b (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)) -> (Eq.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.fromCoset.{u1} A B f (Subtype.mk.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) x (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))))) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) b (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))) (Exists.intro.{succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (y : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) y) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) b (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))))) b (rfl.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) b))))) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.fromCoset.{u1} A B f (Subtype.mk.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) x (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) (Exists.intro.{succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (y : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) y) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))) (OfNat.ofNat.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) 1 (One.toOfNat1.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (InvOneClass.toOne.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvOneMonoid.toInvOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivisionMonoid.toDivInvOneMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivisionMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))))) (one_leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))))))))
 Case conversion may be inaccurate. Consider using '#align Group.surjective_of_epi_auxs.from_coset_eq_of_mem_range GroupCat.SurjectiveOfEpiAuxs.fromCoset_eq_of_mem_rangeₓ'. -/
 theorem fromCoset_eq_of_mem_range {b : B} (hb : b ∈ f.range) :
     fromCoset ⟨b *l f.range.carrier, ⟨b, rfl⟩⟩ =
@@ -211,7 +211,7 @@ theorem fromCoset_eq_of_mem_range {b : B} (hb : b ∈ f.range) :
 lean 3 declaration is
   forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1})) A B) {b : coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B}, (Not (Membership.Mem.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Subgroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)) (SetLike.hasMem.{u1, u1} (Subgroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Subgroup.setLike.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B))) b (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))) -> (Ne.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.fromCoset.{u1} A B f (Subtype.mk.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Membership.Mem.{u1, u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.hasMem.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) x (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B))))) b (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))) (Exists.intro.{succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (fun (y : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) => Eq.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) y) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B))))) b (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)))) b (rfl.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) b))))) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.fromCoset.{u1} A B f (Subtype.mk.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Membership.Mem.{u1, u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.hasMem.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) x (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) (Exists.intro.{succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (fun (y : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) => Eq.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) y) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))) (OfNat.ofNat.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) 1 (OfNat.mk.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) 1 (One.one.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasOne.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))))) (one_leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)))))))
 but is expected to have type
-  forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1})) A B) {b : CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B}, (Not (Membership.mem.{u1, u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Subgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)) (SetLike.instMembership.{u1, u1} (Subgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Subgroup.instSetLikeSubgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))) b (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f))) -> (Ne.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.fromCoset.{u1} A B f (Subtype.mk.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) x (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f))))))) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) b (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f))))) (Exists.intro.{succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (y : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f)))) y) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) b (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f)))))) b (rfl.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f)))) b))))) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.fromCoset.{u1} A B f (Subtype.mk.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) x (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f))))))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f)))) (Exists.intro.{succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (y : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f)))) y) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f))))) (OfNat.ofNat.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) 1 (One.toOfNat1.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (InvOneClass.toOne.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvOneMonoid.toInvOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivisionMonoid.toDivInvOneMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivisionMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))))) (one_leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f)))))))))
+  forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} instGroupCatLargeCategory.{u1})) A B) {b : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B}, (Not (Membership.mem.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Subgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)) (SetLike.instMembership.{u1, u1} (Subgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Subgroup.instSetLikeSubgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))) b (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))) -> (Ne.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.fromCoset.{u1} A B f (Subtype.mk.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) x (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))))) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) b (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))) (Exists.intro.{succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (y : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) y) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) b (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))))) b (rfl.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) b))))) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.fromCoset.{u1} A B f (Subtype.mk.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) x (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) (Exists.intro.{succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (y : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) y) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))) (OfNat.ofNat.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) 1 (One.toOfNat1.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (InvOneClass.toOne.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvOneMonoid.toInvOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivisionMonoid.toDivInvOneMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivisionMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))))) (one_leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))))))))
 Case conversion may be inaccurate. Consider using '#align Group.surjective_of_epi_auxs.from_coset_ne_of_nin_range GroupCat.SurjectiveOfEpiAuxs.fromCoset_ne_of_nin_rangeₓ'. -/
 theorem fromCoset_ne_of_nin_range {b : B} (hb : b ∉ f.range) :
     fromCoset ⟨b *l f.range.carrier, ⟨b, rfl⟩⟩ ≠
@@ -331,7 +331,7 @@ warning: Group.surjective_of_epi_auxs.g_apply_from_coset -> GroupCat.SurjectiveO
 lean 3 declaration is
   forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1})) A B) (x : coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (y : coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) Type.{u1} (Set.hasCoeToSort.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))), Eq.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (coeFn.{succ u1, succ u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (fun (_x : Equiv.{succ u1, succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) => (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) -> (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.hasCoeToFun.{succ u1, succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (coeFn.{succ u1, succ u1} (MonoidHom.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (GroupCat.group.{u1} B)))) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (fun (_x : MonoidHom.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (GroupCat.group.{u1} B)))) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) => (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) -> (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f))) (MonoidHom.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (GroupCat.group.{u1} B)))) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (GroupCat.SurjectiveOfEpiAuxs.g.{u1} A B f) x) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.fromCoset.{u1} A B f y)) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.fromCoset.{u1} A B f (Subtype.mk.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Membership.Mem.{u1, u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.hasMem.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) x (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B))))) x ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) Type.{u1} (Set.hasCoeToSort.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) Type.{u1} (Set.hasCoeToSort.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (CoeTCₓ.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) Type.{u1} (Set.hasCoeToSort.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) Type.{u1} (Set.hasCoeToSort.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSubtype.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Membership.Mem.{u1, u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.hasMem.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) x (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))))))) y)) (Subtype.casesOn.{0, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Membership.Mem.{u1, u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.hasMem.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) x (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) (fun (y : coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) Type.{u1} (Set.hasCoeToSort.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) => Membership.Mem.{u1, u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.hasMem.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B))))) x ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) Type.{u1} (Set.hasCoeToSort.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) Type.{u1} (Set.hasCoeToSort.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (CoeTCₓ.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) Type.{u1} (Set.hasCoeToSort.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) Type.{u1} (Set.hasCoeToSort.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSubtype.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Membership.Mem.{u1, u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.hasMem.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) x (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))))))) y)) (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) y (fun (y_val : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (y_property : Membership.Mem.{u1, u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.hasMem.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) y_val (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) => Exists.dcases_on.{succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (fun (y : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) => Eq.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) y) y_val) (fun (y_property : Membership.Mem.{u1, u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.hasMem.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) y_val (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) => Membership.Mem.{u1, u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.hasMem.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B))))) x ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) Type.{u1} (Set.hasCoeToSort.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) Type.{u1} (Set.hasCoeToSort.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (CoeTCₓ.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) Type.{u1} (Set.hasCoeToSort.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) Type.{u1} (Set.hasCoeToSort.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSubtype.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Membership.Mem.{u1, u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.hasMem.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) x (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))))))) (Subtype.mk.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Membership.Mem.{u1, u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.hasMem.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) x (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) y_val y_property))) (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) y_property (fun (y_property_w : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y_property_h : Eq.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) y_property_w) y_val) => Eq.drec.{0, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) y_property_w) (fun (y_val : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (y_property_h : Eq.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) y_property_w) y_val) => Membership.Mem.{u1, u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.hasMem.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B))))) x ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) Type.{u1} (Set.hasCoeToSort.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) Type.{u1} (Set.hasCoeToSort.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (CoeTCₓ.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) Type.{u1} (Set.hasCoeToSort.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) Type.{u1} (Set.hasCoeToSort.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSubtype.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Membership.Mem.{u1, u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.hasMem.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) x (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))))))) (Subtype.mk.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Membership.Mem.{u1, u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.hasMem.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) x (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) y_val (Exists.intro.{succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (fun (y : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) => Eq.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) y) y_val) y_property_w y_property_h)))) (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) (id.{0} (forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1})) A B) (x : coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (y_property_w : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B), (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) -> (Membership.Mem.{u1, u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.hasMem.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B))))) x ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) Type.{u1} (Set.hasCoeToSort.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) Type.{u1} (Set.hasCoeToSort.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (CoeTCₓ.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) Type.{u1} (Set.hasCoeToSort.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) Type.{u1} (Set.hasCoeToSort.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSubtype.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Membership.Mem.{u1, u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.hasMem.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) x (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))))))) (Subtype.mk.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Membership.Mem.{u1, u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.hasMem.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) x (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) y_property_w) (Exists.intro.{succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (fun (y : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) => Eq.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) y) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) y_property_w)) y_property_w (rfl.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) y_property_w)))))) (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)))))) (fun {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1})) A B) (x : coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (y_property_w : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y_val : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Eq.mpr.{0} (Exists.{succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (fun (y : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) => Eq.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) y) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B))))) x (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) y_property_w)))) True (id_tag Tactic.IdTag.simp (Eq.{1} Prop (Exists.{succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (fun (y : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) => Eq.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) y) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B))))) x (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) y_property_w)))) True) (Eq.trans.{1} Prop (Exists.{succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (fun (y : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) => Eq.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) y) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B))))) x (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) y_property_w)))) (Exists.{succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (fun (y : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) => Eq.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) y) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B))))) (HMul.hMul.{u1, u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (instHMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) x y_property_w) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) True ((fun (p : (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) -> Prop) (p_1 : (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) -> Prop) (e_1 : Eq.{succ u1} ((coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) -> Prop) p p_1) => congr_arg.{succ u1, 1} ((coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) -> Prop) Prop p p_1 (Exists.{succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) e_1) (fun (y : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) => Eq.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) y) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B))))) x (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) y_property_w))) (fun (y : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) => Eq.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) y) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B))))) (HMul.hMul.{u1, u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (instHMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) x y_property_w) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)))) (funext.{succ u1, 1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) => Prop) (fun (x_1 : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) => Eq.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) x_1) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B))))) x (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) y_property_w))) (fun (x_1 : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) => Eq.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) x_1) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B))))) (HMul.hMul.{u1, u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (instHMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) x y_property_w) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)))) (fun (y : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) => (fun (a : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (a_1 : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (e_1 : Eq.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) a a_1) (ᾰ : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (ᾰ_1 : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (e_2 : Eq.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) ᾰ ᾰ_1) => congr.{succ u1, 1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) Prop (Eq.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) a) (Eq.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) a_1) ᾰ ᾰ_1 (congr_arg.{succ u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) ((Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) -> Prop) a a_1 (Eq.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) e_1) e_2) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) y) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) y) (rfl.{succ u1} ((fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) y (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) y)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B))))) x (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) y_property_w)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B))))) (HMul.hMul.{u1, u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (instHMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) x y_property_w) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))) (leftCoset_assoc.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toSemigroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) x y_property_w)))) (propext (Exists.{succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (fun (a : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) => Eq.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) ((fun (a : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) => Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) a) a) ((fun (a : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) => Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) a) (HMul.hMul.{u1, u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (instHMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) x y_property_w)))) True ((fun {α : Type.{u1}} {β : Type.{u1}} (f : α -> β) (a' : α) => iff_true_intro (Exists.{succ u1} α (fun (a : α) => Eq.{succ u1} β (f a) (f a'))) (exists_apply_eq_apply.{succ u1, succ u1} α β f a')) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (a : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) => Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) a) (HMul.hMul.{u1, u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (instHMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) x y_property_w))))) trivial) A B f x y_property_w y_val) y_val y_property_h)))))
 but is expected to have type
-  forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1})) A B) (x : CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (y : Set.Elem.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f))))))), Eq.{succ u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) => GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.fromCoset.{u1} A B f y)) (FunLike.coe.{succ u1, succ u1, succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) => Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) x) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (fun (_x : GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) => GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) _x) (Equiv.instFunLikeEquiv.{succ u1, succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (FunLike.coe.{succ u1, succ u1, succ u1} (MonoidHom.{u1, u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (DivInvMonoid.toMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Group.toDivInvMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (GroupCat.instGroupCoeGroupCatTypeInstCoeSortGroupCatType.{u1} B)))) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (fun (_x : CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) => Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) _x) (MulHomClass.toFunLike.{u1, u1, u1} (MonoidHom.{u1, u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (DivInvMonoid.toMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Group.toDivInvMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (GroupCat.instGroupCoeGroupCatTypeInstCoeSortGroupCatType.{u1} B)))) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (MulOneClass.toMul.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Monoid.toMulOneClass.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (DivInvMonoid.toMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Group.toDivInvMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (GroupCat.instGroupCoeGroupCatTypeInstCoeSortGroupCatType.{u1} B))))) (MulOneClass.toMul.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (MonoidHomClass.toMulHomClass.{u1, u1, u1} (MonoidHom.{u1, u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (DivInvMonoid.toMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Group.toDivInvMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (GroupCat.instGroupCoeGroupCatTypeInstCoeSortGroupCatType.{u1} B)))) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (DivInvMonoid.toMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Group.toDivInvMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (GroupCat.instGroupCoeGroupCatTypeInstCoeSortGroupCatType.{u1} B)))) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f))))) (MonoidHom.monoidHomClass.{u1, u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (DivInvMonoid.toMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Group.toDivInvMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (GroupCat.instGroupCoeGroupCatTypeInstCoeSortGroupCatType.{u1} B)))) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))))) (GroupCat.SurjectiveOfEpiAuxs.g.{u1} A B f) x) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.fromCoset.{u1} A B f y)) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.fromCoset.{u1} A B f (Subtype.mk.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) x (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f))))))) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) x (Subtype.val.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) x (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f))))))) y)) (Eq.mpr.{0} (Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) x (Subtype.val.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) x (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f))))))) y)) (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f))))))) (Exists.{succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (y_1 : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f)))) y_1) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) x (Subtype.val.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) x (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f))))))) y)))) (id.{0} (Eq.{1} Prop (Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) x (Subtype.val.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) x (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f))))))) y)) (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f))))))) (Exists.{succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (y_1 : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f)))) y_1) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) x (Subtype.val.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) x (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f))))))) y))))) (Mathlib.Data.Set.Image._auxLemma.18.{succ u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f))))) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) x (Subtype.val.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) x (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f))))))) y)))) (Subtype.casesOn.{0, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) x (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f))))))) (fun (h : Set.Elem.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f))))))) => Exists.{succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (y : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f)))) y) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) x (Subtype.val.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) x (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f))))))) h)))) y (fun (val : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (property : Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) val (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f))))))) => Exists.casesOn.{succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (y : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f)))) y) val) (fun (h : Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) val (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f))))))) => Exists.{succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (y : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f)))) y) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) x (Subtype.val.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) x (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f))))))) (Subtype.mk.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) x (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f))))))) val h))))) property (fun (w : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (h : Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f)))) w) val) => Eq.rec.{0, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f)))) w) (fun (val : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (h : Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f)))) w) val) => Exists.{succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (y : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f)))) y) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) x (Subtype.val.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) x (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f))))))) (Subtype.mk.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) x (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f))))))) val (Exists.intro.{succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (y : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f)))) y) val) w h)))))) (of_eq_true (Exists.{succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (x_1 : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f)))) x_1) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Semigroup.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toSemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) x (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Semigroup.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toSemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) w (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f)))))))) (Eq.trans.{1} Prop (Exists.{succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (x_1 : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f)))) x_1) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Semigroup.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toSemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) x (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Semigroup.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toSemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) w (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f)))))))) (Exists.{succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (x_1 : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f)))) x_1) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Semigroup.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toSemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (HMul.hMul.{u1, u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (instHMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Semigroup.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toSemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))))) x w) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f))))))) True (congrArg.{succ u1, 1} ((CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) -> Prop) Prop (fun (x_1 : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f)))) x_1) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Semigroup.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toSemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) x (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Semigroup.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toSemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) w (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f))))))) (fun (x_1 : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f)))) x_1) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Semigroup.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toSemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (HMul.hMul.{u1, u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (instHMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Semigroup.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toSemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))))) x w) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f)))))) (Exists.{succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (funext.{succ u1, 1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Prop) (fun (x_1 : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f)))) x_1) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Semigroup.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toSemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) x (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Semigroup.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toSemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) w (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f))))))) (fun (x_1 : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f)))) x_1) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Semigroup.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toSemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (HMul.hMul.{u1, u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (instHMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Semigroup.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toSemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))))) x w) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f)))))) (fun (y : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => congrArg.{succ u1, 1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) Prop (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Semigroup.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toSemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) x (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Semigroup.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toSemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) w (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f)))))) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Semigroup.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toSemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (HMul.hMul.{u1, u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (instHMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Semigroup.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toSemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))))) x w) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f))))) (Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f)))) y)) (leftCoset_assoc.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toSemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f)))) x w)))) (Std.Logic._auxLemma.52.{succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (a : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f)))) a) (HMul.hMul.{u1, u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (instHMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Semigroup.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toSemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))))) x w)))) val h))))))
+  forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} instGroupCatLargeCategory.{u1})) A B) (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.Elem.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))))), Eq.{succ u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) => GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.fromCoset.{u1} A B f y)) (FunLike.coe.{succ u1, succ u1, succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) x) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (fun (_x : GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) => GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) _x) (Equiv.instFunLikeEquiv.{succ u1, succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (FunLike.coe.{succ u1, succ u1, succ u1} (MonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (_x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) _x) (MulHomClass.toFunLike.{u1, u1, u1} (MonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) (MulOneClass.toMul.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (MonoidHomClass.toMulHomClass.{u1, u1, u1} (MonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f))))) (MonoidHom.monoidHomClass.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))))) (GroupCat.SurjectiveOfEpiAuxs.g.{u1} A B f) x) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.fromCoset.{u1} A B f y)) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.fromCoset.{u1} A B f (Subtype.mk.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) x (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))))) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) x (Subtype.val.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) x (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))))) y)) (Eq.mpr.{0} (Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) x (Subtype.val.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) x (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))))) y)) (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))))) (Exists.{succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (y_1 : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) y_1) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) x (Subtype.val.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) x (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))))) y)))) (id.{0} (Eq.{1} Prop (Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) x (Subtype.val.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) x (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))))) y)) (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))))) (Exists.{succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (y_1 : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) y_1) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) x (Subtype.val.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) x (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))))) y))))) (Mathlib.Data.Set.Image._auxLemma.18.{succ u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) x (Subtype.val.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) x (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))))) y)))) (Subtype.casesOn.{0, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) x (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))))) (fun (h : Set.Elem.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))))) => Exists.{succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (y : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) y) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) x (Subtype.val.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) x (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))))) h)))) y (fun (val : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (property : Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) val (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))))) => Exists.casesOn.{succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (y : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) y) val) (fun (h : Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) val (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))))) => Exists.{succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (y : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) y) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) x (Subtype.val.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) x (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))))) (Subtype.mk.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) x (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))))) val h))))) property (fun (w : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (h : Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) w) val) => Eq.rec.{0, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) w) (fun (val : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (h : Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) w) val) => Exists.{succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (y : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) y) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) x (Subtype.val.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) x (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))))) (Subtype.mk.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) x (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))))) val (Exists.intro.{succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (y : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) y) val) w h)))))) (of_eq_true (Exists.{succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (x_1 : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) x_1) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Semigroup.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toSemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) x (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Semigroup.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toSemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) w (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))))))) (Eq.trans.{1} Prop (Exists.{succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (x_1 : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) x_1) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Semigroup.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toSemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) x (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Semigroup.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toSemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) w (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))))))) (Exists.{succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (x_1 : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) x_1) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Semigroup.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toSemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (HMul.hMul.{u1, u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (instHMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Semigroup.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toSemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))))) x w) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))))) True (congrArg.{succ u1, 1} ((CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) -> Prop) Prop (fun (x_1 : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) x_1) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Semigroup.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toSemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) x (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Semigroup.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toSemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) w (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))))) (fun (x_1 : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) x_1) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Semigroup.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toSemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (HMul.hMul.{u1, u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (instHMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Semigroup.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toSemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))))) x w) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))))) (Exists.{succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (funext.{succ u1, 1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Prop) (fun (x_1 : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) x_1) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Semigroup.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toSemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) x (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Semigroup.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toSemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) w (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))))) (fun (x_1 : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) x_1) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Semigroup.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toSemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (HMul.hMul.{u1, u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (instHMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Semigroup.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toSemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))))) x w) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))))) (fun (y : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => congrArg.{succ u1, 1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) Prop (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Semigroup.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toSemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) x (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Semigroup.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toSemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) w (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))))) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Semigroup.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toSemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (HMul.hMul.{u1, u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (instHMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Semigroup.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toSemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))))) x w) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))) (Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) y)) (leftCoset_assoc.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toSemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) x w)))) (Std.Logic._auxLemma.52.{succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (a : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) a) (HMul.hMul.{u1, u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (instHMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Semigroup.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toSemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))))) x w)))) val h))))))
 Case conversion may be inaccurate. Consider using '#align Group.surjective_of_epi_auxs.g_apply_from_coset GroupCat.SurjectiveOfEpiAuxs.g_apply_fromCosetₓ'. -/
 theorem g_apply_fromCoset (x : B) (y : X) : (g x) (fromCoset y) = fromCoset ⟨x *l y, by tidy⟩ :=
   rfl
@@ -347,7 +347,7 @@ theorem g_apply_infinity (x : B) : (g x) ∞ = ∞ :=
 lean 3 declaration is
   forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1})) A B) (x : coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B), (Membership.Mem.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Subgroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)) (SetLike.hasMem.{u1, u1} (Subgroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Subgroup.setLike.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B))) x (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) -> (Eq.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (coeFn.{succ u1, succ u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (fun (_x : Equiv.{succ u1, succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) => (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) -> (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.hasCoeToFun.{succ u1, succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (coeFn.{succ u1, succ u1} (MonoidHom.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (GroupCat.group.{u1} B)))) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (fun (_x : MonoidHom.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (GroupCat.group.{u1} B)))) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) => (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) -> (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f))) (MonoidHom.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (GroupCat.group.{u1} B)))) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (GroupCat.SurjectiveOfEpiAuxs.h.{u1} A B f) x) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.infinity.{u1} A B f)) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.infinity.{u1} A B f))
 but is expected to have type
-  forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1})) A B) (x : CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B), (Membership.mem.{u1, u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Subgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)) (SetLike.instMembership.{u1, u1} (Subgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Subgroup.instSetLikeSubgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))) x (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f)) -> (Eq.{succ u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) => GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.infinity.{u1} A B f)) (FunLike.coe.{succ u1, succ u1, succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) => Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) x) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (fun (_x : GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) => GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) _x) (Equiv.instFunLikeEquiv.{succ u1, succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (FunLike.coe.{succ u1, succ u1, succ u1} (MonoidHom.{u1, u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (DivInvMonoid.toMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Group.toDivInvMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (GroupCat.instGroupCoeGroupCatTypeInstCoeSortGroupCatType.{u1} B)))) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (fun (_x : CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) => Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) _x) (MulHomClass.toFunLike.{u1, u1, u1} (MonoidHom.{u1, u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (DivInvMonoid.toMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Group.toDivInvMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (GroupCat.instGroupCoeGroupCatTypeInstCoeSortGroupCatType.{u1} B)))) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (MulOneClass.toMul.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Monoid.toMulOneClass.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (DivInvMonoid.toMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Group.toDivInvMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (GroupCat.instGroupCoeGroupCatTypeInstCoeSortGroupCatType.{u1} B))))) (MulOneClass.toMul.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (MonoidHomClass.toMulHomClass.{u1, u1, u1} (MonoidHom.{u1, u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (DivInvMonoid.toMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Group.toDivInvMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (GroupCat.instGroupCoeGroupCatTypeInstCoeSortGroupCatType.{u1} B)))) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (DivInvMonoid.toMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Group.toDivInvMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (GroupCat.instGroupCoeGroupCatTypeInstCoeSortGroupCatType.{u1} B)))) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f))))) (MonoidHom.monoidHomClass.{u1, u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (DivInvMonoid.toMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Group.toDivInvMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (GroupCat.instGroupCoeGroupCatTypeInstCoeSortGroupCatType.{u1} B)))) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))))) (GroupCat.SurjectiveOfEpiAuxs.h.{u1} A B f) x) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.infinity.{u1} A B f)) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.infinity.{u1} A B f))
+  forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} instGroupCatLargeCategory.{u1})) A B) (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B), (Membership.mem.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Subgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)) (SetLike.instMembership.{u1, u1} (Subgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Subgroup.instSetLikeSubgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))) x (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)) -> (Eq.{succ u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) => GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.infinity.{u1} A B f)) (FunLike.coe.{succ u1, succ u1, succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) x) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (fun (_x : GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) => GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) _x) (Equiv.instFunLikeEquiv.{succ u1, succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (FunLike.coe.{succ u1, succ u1, succ u1} (MonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (_x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) _x) (MulHomClass.toFunLike.{u1, u1, u1} (MonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) (MulOneClass.toMul.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (MonoidHomClass.toMulHomClass.{u1, u1, u1} (MonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f))))) (MonoidHom.monoidHomClass.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))))) (GroupCat.SurjectiveOfEpiAuxs.h.{u1} A B f) x) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.infinity.{u1} A B f)) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.infinity.{u1} A B f))
 Case conversion may be inaccurate. Consider using '#align Group.surjective_of_epi_auxs.h_apply_infinity GroupCat.SurjectiveOfEpiAuxs.h_apply_infinityₓ'. -/
 theorem h_apply_infinity (x : B) (hx : x ∈ f.range) : (h x) ∞ = ∞ :=
   by
@@ -377,7 +377,7 @@ warning: Group.surjective_of_epi_auxs.h_apply_from_coset_nin_range -> GroupCat.S
 lean 3 declaration is
   forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1})) A B) (x : coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B), (Membership.Mem.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Subgroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)) (SetLike.hasMem.{u1, u1} (Subgroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Subgroup.setLike.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B))) x (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) -> (forall (b : coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B), (Not (Membership.Mem.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Subgroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)) (SetLike.hasMem.{u1, u1} (Subgroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Subgroup.setLike.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B))) b (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))) -> (Eq.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (coeFn.{succ u1, succ u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (fun (_x : Equiv.{succ u1, succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) => (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) -> (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.hasCoeToFun.{succ u1, succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (coeFn.{succ u1, succ u1} (MonoidHom.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (GroupCat.group.{u1} B)))) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (fun (_x : MonoidHom.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (GroupCat.group.{u1} B)))) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) => (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) -> (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f))) (MonoidHom.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (GroupCat.group.{u1} B)))) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (GroupCat.SurjectiveOfEpiAuxs.h.{u1} A B f) x) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.fromCoset.{u1} A B f (Subtype.mk.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Membership.Mem.{u1, u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.hasMem.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) x (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B))))) b (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))) (Exists.intro.{succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (fun (y : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) => Eq.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) y) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B))))) b (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)))) b (rfl.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) b)))))) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.fromCoset.{u1} A B f (Subtype.mk.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Membership.Mem.{u1, u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.hasMem.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) x (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B))))) (HMul.hMul.{u1, u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (instHMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) x b) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))) (Exists.intro.{succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (fun (y : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) => Eq.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) y) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B))))) (HMul.hMul.{u1, u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (instHMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) x b) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)))) (HMul.hMul.{u1, u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (instHMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) x b) (rfl.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) (HMul.hMul.{u1, u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (instHMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) x b))))))))
 but is expected to have type
-  forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1})) A B) (x : CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B), (Membership.mem.{u1, u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Subgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)) (SetLike.instMembership.{u1, u1} (Subgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Subgroup.instSetLikeSubgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))) x (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f)) -> (forall (b : CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B), (Not (Membership.mem.{u1, u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Subgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)) (SetLike.instMembership.{u1, u1} (Subgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Subgroup.instSetLikeSubgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))) b (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f))) -> (Eq.{succ u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) => GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.fromCoset.{u1} A B f (Subtype.mk.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) x (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f))))))) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) b (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f))))) (Exists.intro.{succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (y : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f)))) y) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) b (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f)))))) b (rfl.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f)))) b)))))) (FunLike.coe.{succ u1, succ u1, succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) => Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) x) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (fun (_x : GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) => GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) _x) (Equiv.instFunLikeEquiv.{succ u1, succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (FunLike.coe.{succ u1, succ u1, succ u1} (MonoidHom.{u1, u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (DivInvMonoid.toMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Group.toDivInvMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (GroupCat.instGroupCoeGroupCatTypeInstCoeSortGroupCatType.{u1} B)))) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (fun (_x : CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) => Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) _x) (MulHomClass.toFunLike.{u1, u1, u1} (MonoidHom.{u1, u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (DivInvMonoid.toMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Group.toDivInvMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (GroupCat.instGroupCoeGroupCatTypeInstCoeSortGroupCatType.{u1} B)))) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (MulOneClass.toMul.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Monoid.toMulOneClass.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (DivInvMonoid.toMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Group.toDivInvMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (GroupCat.instGroupCoeGroupCatTypeInstCoeSortGroupCatType.{u1} B))))) (MulOneClass.toMul.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (MonoidHomClass.toMulHomClass.{u1, u1, u1} (MonoidHom.{u1, u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (DivInvMonoid.toMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Group.toDivInvMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (GroupCat.instGroupCoeGroupCatTypeInstCoeSortGroupCatType.{u1} B)))) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (DivInvMonoid.toMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Group.toDivInvMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (GroupCat.instGroupCoeGroupCatTypeInstCoeSortGroupCatType.{u1} B)))) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f))))) (MonoidHom.monoidHomClass.{u1, u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (DivInvMonoid.toMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Group.toDivInvMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (GroupCat.instGroupCoeGroupCatTypeInstCoeSortGroupCatType.{u1} B)))) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))))) (GroupCat.SurjectiveOfEpiAuxs.h.{u1} A B f) x) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.fromCoset.{u1} A B f (Subtype.mk.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) x (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f))))))) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) b (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f))))) (Exists.intro.{succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (y : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f)))) y) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) b (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f)))))) b (rfl.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f)))) b)))))) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.fromCoset.{u1} A B f (Subtype.mk.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) x (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f))))))) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) (HMul.hMul.{u1, u1, u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (instHMul.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (MulOneClass.toMul.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Monoid.toMulOneClass.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (DivInvMonoid.toMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Group.toDivInvMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (GroupCat.instGroupCoeGroupCatTypeInstCoeSortGroupCatType.{u1} B)))))) x b) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f))))) (Exists.intro.{succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (y : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f)))) y) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) (HMul.hMul.{u1, u1, u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (instHMul.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (MulOneClass.toMul.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Monoid.toMulOneClass.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (DivInvMonoid.toMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Group.toDivInvMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (GroupCat.instGroupCoeGroupCatTypeInstCoeSortGroupCatType.{u1} B)))))) x b) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f)))))) (HMul.hMul.{u1, u1, u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (instHMul.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (MulOneClass.toMul.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Monoid.toMulOneClass.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (DivInvMonoid.toMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Group.toDivInvMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (GroupCat.instGroupCoeGroupCatTypeInstCoeSortGroupCatType.{u1} B)))))) x b) (rfl.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f)))) (HMul.hMul.{u1, u1, u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (instHMul.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (MulOneClass.toMul.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Monoid.toMulOneClass.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (DivInvMonoid.toMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Group.toDivInvMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (GroupCat.instGroupCoeGroupCatTypeInstCoeSortGroupCatType.{u1} B)))))) x b))))))))
+  forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} instGroupCatLargeCategory.{u1})) A B) (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B), (Membership.mem.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Subgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)) (SetLike.instMembership.{u1, u1} (Subgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Subgroup.instSetLikeSubgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))) x (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)) -> (forall (b : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B), (Not (Membership.mem.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Subgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)) (SetLike.instMembership.{u1, u1} (Subgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Subgroup.instSetLikeSubgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))) b (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))) -> (Eq.{succ u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) => GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.fromCoset.{u1} A B f (Subtype.mk.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) x (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))))) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) b (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))) (Exists.intro.{succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (y : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) y) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) b (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))))) b (rfl.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) b)))))) (FunLike.coe.{succ u1, succ u1, succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) x) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (fun (_x : GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) => GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) _x) (Equiv.instFunLikeEquiv.{succ u1, succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (FunLike.coe.{succ u1, succ u1, succ u1} (MonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (_x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) _x) (MulHomClass.toFunLike.{u1, u1, u1} (MonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) (MulOneClass.toMul.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (MonoidHomClass.toMulHomClass.{u1, u1, u1} (MonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f))))) (MonoidHom.monoidHomClass.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))))) (GroupCat.SurjectiveOfEpiAuxs.h.{u1} A B f) x) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.fromCoset.{u1} A B f (Subtype.mk.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) x (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))))) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) b (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))) (Exists.intro.{succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (y : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) y) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) b (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))))) b (rfl.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) b)))))) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.fromCoset.{u1} A B f (Subtype.mk.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) x (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))))) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) (HMul.hMul.{u1, u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (instHMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) x b) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))))) (Exists.intro.{succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (y : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) y) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) (HMul.hMul.{u1, u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (instHMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) x b) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))))) (HMul.hMul.{u1, u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (instHMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) x b) (rfl.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) (HMul.hMul.{u1, u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (instHMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) x b))))))))
 Case conversion may be inaccurate. Consider using '#align Group.surjective_of_epi_auxs.h_apply_from_coset_nin_range GroupCat.SurjectiveOfEpiAuxs.h_apply_fromCoset_nin_rangeₓ'. -/
 theorem h_apply_fromCoset_nin_range (x : B) (hx : x ∈ f.range) (b : B) (hb : b ∉ f.range) :
     (h x) (fromCoset ⟨b *l f.range.carrier, ⟨b, rfl⟩⟩) =
@@ -397,7 +397,7 @@ theorem h_apply_fromCoset_nin_range (x : B) (hx : x ∈ f.range) (b : B) (hb : b
 lean 3 declaration is
   forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1})) A B), Eq.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) (setOf.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) => Eq.{succ u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (coeFn.{succ u1, succ u1} (MonoidHom.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (GroupCat.group.{u1} B)))) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (fun (_x : MonoidHom.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (GroupCat.group.{u1} B)))) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) => (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) -> (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f))) (MonoidHom.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (GroupCat.group.{u1} B)))) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (GroupCat.SurjectiveOfEpiAuxs.h.{u1} A B f) x) (coeFn.{succ u1, succ u1} (MonoidHom.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (GroupCat.group.{u1} B)))) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (fun (_x : MonoidHom.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (GroupCat.group.{u1} B)))) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) => (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) -> (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f))) (MonoidHom.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (GroupCat.group.{u1} B)))) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (GroupCat.SurjectiveOfEpiAuxs.g.{u1} A B f) x)))
 but is expected to have type
-  forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1})) A B), Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f)))) (setOf.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (fun (x : CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) => Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) => Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) x) (FunLike.coe.{succ u1, succ u1, succ u1} (MonoidHom.{u1, u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (DivInvMonoid.toMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Group.toDivInvMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (GroupCat.instGroupCoeGroupCatTypeInstCoeSortGroupCatType.{u1} B)))) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (fun (_x : CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) => Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) _x) (MulHomClass.toFunLike.{u1, u1, u1} (MonoidHom.{u1, u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (DivInvMonoid.toMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Group.toDivInvMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (GroupCat.instGroupCoeGroupCatTypeInstCoeSortGroupCatType.{u1} B)))) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (MulOneClass.toMul.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Monoid.toMulOneClass.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (DivInvMonoid.toMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Group.toDivInvMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (GroupCat.instGroupCoeGroupCatTypeInstCoeSortGroupCatType.{u1} B))))) (MulOneClass.toMul.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (MonoidHomClass.toMulHomClass.{u1, u1, u1} (MonoidHom.{u1, u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (DivInvMonoid.toMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Group.toDivInvMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (GroupCat.instGroupCoeGroupCatTypeInstCoeSortGroupCatType.{u1} B)))) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (DivInvMonoid.toMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Group.toDivInvMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (GroupCat.instGroupCoeGroupCatTypeInstCoeSortGroupCatType.{u1} B)))) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f))))) (MonoidHom.monoidHomClass.{u1, u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (DivInvMonoid.toMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Group.toDivInvMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (GroupCat.instGroupCoeGroupCatTypeInstCoeSortGroupCatType.{u1} B)))) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))))) (GroupCat.SurjectiveOfEpiAuxs.h.{u1} A B f) x) (FunLike.coe.{succ u1, succ u1, succ u1} (MonoidHom.{u1, u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (DivInvMonoid.toMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Group.toDivInvMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (GroupCat.instGroupCoeGroupCatTypeInstCoeSortGroupCatType.{u1} B)))) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (fun (_x : CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) => Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) _x) (MulHomClass.toFunLike.{u1, u1, u1} (MonoidHom.{u1, u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (DivInvMonoid.toMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Group.toDivInvMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (GroupCat.instGroupCoeGroupCatTypeInstCoeSortGroupCatType.{u1} B)))) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (MulOneClass.toMul.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Monoid.toMulOneClass.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (DivInvMonoid.toMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Group.toDivInvMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (GroupCat.instGroupCoeGroupCatTypeInstCoeSortGroupCatType.{u1} B))))) (MulOneClass.toMul.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (MonoidHomClass.toMulHomClass.{u1, u1, u1} (MonoidHom.{u1, u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (DivInvMonoid.toMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Group.toDivInvMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (GroupCat.instGroupCoeGroupCatTypeInstCoeSortGroupCatType.{u1} B)))) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (DivInvMonoid.toMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Group.toDivInvMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (GroupCat.instGroupCoeGroupCatTypeInstCoeSortGroupCatType.{u1} B)))) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f))))) (MonoidHom.monoidHomClass.{u1, u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (DivInvMonoid.toMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Group.toDivInvMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (GroupCat.instGroupCoeGroupCatTypeInstCoeSortGroupCatType.{u1} B)))) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))))) (GroupCat.SurjectiveOfEpiAuxs.g.{u1} A B f) x)))
+  forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} instGroupCatLargeCategory.{u1})) A B), Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f)))) (setOf.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) x) (FunLike.coe.{succ u1, succ u1, succ u1} (MonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (_x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) _x) (MulHomClass.toFunLike.{u1, u1, u1} (MonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) (MulOneClass.toMul.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (MonoidHomClass.toMulHomClass.{u1, u1, u1} (MonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f))))) (MonoidHom.monoidHomClass.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))))) (GroupCat.SurjectiveOfEpiAuxs.h.{u1} A B f) x) (FunLike.coe.{succ u1, succ u1, succ u1} (MonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (_x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) _x) (MulHomClass.toFunLike.{u1, u1, u1} (MonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) (MulOneClass.toMul.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (MonoidHomClass.toMulHomClass.{u1, u1, u1} (MonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f))))) (MonoidHom.monoidHomClass.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))))) (GroupCat.SurjectiveOfEpiAuxs.g.{u1} A B f) x)))
 Case conversion may be inaccurate. Consider using '#align Group.surjective_of_epi_auxs.agree GroupCat.SurjectiveOfEpiAuxs.agreeₓ'. -/
 theorem agree : f.range.carrier = { x | h x = g x } :=
   by
@@ -435,7 +435,7 @@ theorem comp_eq : (f ≫ show B ⟶ GroupCat.of SX' from g) = f ≫ h :=
 lean 3 declaration is
   forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1})) A B) (x : coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B), (Not (Membership.Mem.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Subgroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)) (SetLike.hasMem.{u1, u1} (Subgroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Subgroup.setLike.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B))) x (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))) -> (Ne.{succ u1} (MonoidHom.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (GroupCat.group.{u1} B)))) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (GroupCat.SurjectiveOfEpiAuxs.g.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.h.{u1} A B f))
 but is expected to have type
-  forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1})) A B) (x : CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B), (Not (Membership.mem.{u1, u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Subgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)) (SetLike.instMembership.{u1, u1} (Subgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Subgroup.instSetLikeSubgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))) x (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f))) -> (Ne.{succ u1} (MonoidHom.{u1, u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (DivInvMonoid.toMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Group.toDivInvMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (GroupCat.instGroupCoeGroupCatTypeInstCoeSortGroupCatType.{u1} B)))) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (GroupCat.SurjectiveOfEpiAuxs.g.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.h.{u1} A B f))
+  forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} instGroupCatLargeCategory.{u1})) A B) (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B), (Not (Membership.mem.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Subgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)) (SetLike.instMembership.{u1, u1} (Subgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Subgroup.instSetLikeSubgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))) x (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f))) -> (Ne.{succ u1} (MonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (GroupCat.SurjectiveOfEpiAuxs.g.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.h.{u1} A B f))
 Case conversion may be inaccurate. Consider using '#align Group.surjective_of_epi_auxs.g_ne_h GroupCat.SurjectiveOfEpiAuxs.g_ne_hₓ'. -/
 theorem g_ne_h (x : B) (hx : x ∉ f.range) : g ≠ h :=
   by
@@ -455,7 +455,7 @@ end SurjectiveOfEpiAuxs
 lean 3 declaration is
   forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1})) A B) [_inst_1 : CategoryTheory.Epi.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1} A B f], Function.Surjective.{succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1})) A B) (fun (_x : MonoidHom.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (Group.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (CategoryTheory.Bundled.str.{u1, u1} Group.{u1} A))) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (CategoryTheory.Bundled.str.{u1, u1} Group.{u1} B)))) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (MonoidHom.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (Group.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (CategoryTheory.Bundled.str.{u1, u1} Group.{u1} A))) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (CategoryTheory.Bundled.str.{u1, u1} Group.{u1} B)))) f)
 but is expected to have type
-  forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1})) A B) [_inst_1 : CategoryTheory.Epi.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1} A B f], Function.Surjective.{succ u1, succ u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} A) (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (CoeFun.coe.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1})) A B) (fun (_x : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1})) A B) => (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} A) -> (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B)) (GroupCat.instCoeFunHomGroupCatToQuiverToCategoryStructLargeCategoryForAllCoeTypeInstCoeSortGroupCatType.{u1} A B) f)
+  forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} instGroupCatLargeCategory.{u1})) A B) [_inst_1 : CategoryTheory.Epi.{u1, succ u1} GroupCat.{u1} instGroupCatLargeCategory.{u1} A B f], Function.Surjective.{succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (FunLike.coe.{succ u1, succ u1, succ u1} (MonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A)))) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (fun (_x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) => CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) _x) (MulHomClass.toFunLike.{u1, u1, u1} (MonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A)))) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A))))) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (MonoidHomClass.toMulHomClass.{u1, u1, u1} (MonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A)))) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A)))) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (MonoidHom.monoidHomClass.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A)))) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))))) f)
 Case conversion may be inaccurate. Consider using '#align Group.surjective_of_epi GroupCat.surjective_of_epiₓ'. -/
 theorem surjective_of_epi [Epi f] : Function.Surjective f :=
   by
@@ -471,7 +471,7 @@ theorem surjective_of_epi [Epi f] : Function.Surjective f :=
 lean 3 declaration is
   forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1})) A B), Iff (CategoryTheory.Epi.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1} A B f) (Function.Surjective.{succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1})) A B) (fun (_x : MonoidHom.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (Group.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (CategoryTheory.Bundled.str.{u1, u1} Group.{u1} A))) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (CategoryTheory.Bundled.str.{u1, u1} Group.{u1} B)))) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (MonoidHom.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (Group.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (CategoryTheory.Bundled.str.{u1, u1} Group.{u1} A))) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (CategoryTheory.Bundled.str.{u1, u1} Group.{u1} B)))) f))
 but is expected to have type
-  forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1})) A B), Iff (CategoryTheory.Epi.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1} A B f) (Function.Surjective.{succ u1, succ u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} A) (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (CoeFun.coe.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1})) A B) (fun (_x : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1})) A B) => (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} A) -> (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B)) (GroupCat.instCoeFunHomGroupCatToQuiverToCategoryStructLargeCategoryForAllCoeTypeInstCoeSortGroupCatType.{u1} A B) f))
+  forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} instGroupCatLargeCategory.{u1})) A B), Iff (CategoryTheory.Epi.{u1, succ u1} GroupCat.{u1} instGroupCatLargeCategory.{u1} A B f) (Function.Surjective.{succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (FunLike.coe.{succ u1, succ u1, succ u1} (MonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A)))) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (fun (_x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) => CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) _x) (MulHomClass.toFunLike.{u1, u1, u1} (MonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A)))) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A))))) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (MonoidHomClass.toMulHomClass.{u1, u1, u1} (MonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A)))) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A)))) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (MonoidHom.monoidHomClass.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A)))) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))))) f))
 Case conversion may be inaccurate. Consider using '#align Group.epi_iff_surjective GroupCat.epi_iff_surjectiveₓ'. -/
 theorem epi_iff_surjective : Epi f ↔ Function.Surjective f :=
   ⟨fun h => @surjective_of_epi f h, ConcreteCategory.epi_of_surjective _⟩
@@ -481,7 +481,7 @@ theorem epi_iff_surjective : Epi f ↔ Function.Surjective f :=
 lean 3 declaration is
   forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1})) A B), Iff (CategoryTheory.Epi.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1} A B f) (Eq.{succ u1} (Subgroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f) (Top.top.{u1} (Subgroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)) (Subgroup.hasTop.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B))))
 but is expected to have type
-  forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1})) A B), Iff (CategoryTheory.Epi.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1} A B f) (Eq.{succ u1} (Subgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f) (Top.top.{u1} (Subgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)) (Subgroup.instTopSubgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))
+  forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} instGroupCatLargeCategory.{u1})) A B), Iff (CategoryTheory.Epi.{u1, succ u1} GroupCat.{u1} instGroupCatLargeCategory.{u1} A B f) (Eq.{succ u1} (Subgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B) f) (Top.top.{u1} (Subgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B)) (Subgroup.instTopSubgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα_1.{u1} B))))
 Case conversion may be inaccurate. Consider using '#align Group.epi_iff_range_eq_top GroupCat.epi_iff_range_eq_topₓ'. -/
 theorem epi_iff_range_eq_top : Epi f ↔ f.range = ⊤ :=
   Iff.trans (epi_iff_surjective _) (Subgroup.eq_top_iff' f.range).symm
@@ -497,7 +497,7 @@ variable {A B : AddGroupCat.{u}} (f : A ⟶ B)
 lean 3 declaration is
   forall {A : AddGroupCat.{u1}} {B : AddGroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} AddGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddGroupCat.{u1} AddGroupCat.largeCategory.{u1})) A B), Iff (CategoryTheory.Epi.{u1, succ u1} AddGroupCat.{u1} AddGroupCat.largeCategory.{u1} A B f) (Function.Surjective.{succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddGroup.{u1}) A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddGroup.{u1}) B) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} AddGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddGroupCat.{u1} AddGroupCat.largeCategory.{u1})) A B) (fun (_x : AddMonoidHom.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddGroup.{u1}) A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddGroup.{u1}) B) (AddMonoid.toAddZeroClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddGroup.{u1}) A) (AddGroup.toAddMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddGroup.{u1}) A) (CategoryTheory.Bundled.str.{u1, u1} AddGroup.{u1} A))) (AddMonoid.toAddZeroClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddGroup.{u1}) B) (AddGroup.toAddMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddGroup.{u1}) B) (CategoryTheory.Bundled.str.{u1, u1} AddGroup.{u1} B)))) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddGroup.{u1}) A) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddGroup.{u1}) B)) (AddMonoidHom.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddGroup.{u1}) A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddGroup.{u1}) B) (AddMonoid.toAddZeroClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddGroup.{u1}) A) (AddGroup.toAddMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddGroup.{u1}) A) (CategoryTheory.Bundled.str.{u1, u1} AddGroup.{u1} A))) (AddMonoid.toAddZeroClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddGroup.{u1}) B) (AddGroup.toAddMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddGroup.{u1}) B) (CategoryTheory.Bundled.str.{u1, u1} AddGroup.{u1} B)))) f))
 but is expected to have type
-  forall {A : AddGroupCat.{u1}} {B : AddGroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} AddGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddGroupCat.{u1} AddGroupCat.largeCategory.{u1})) A B), Iff (CategoryTheory.Epi.{u1, succ u1} AddGroupCat.{u1} AddGroupCat.largeCategory.{u1} A B f) (Function.Surjective.{succ u1, succ u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} AddGroupCat.{u1} Type.{u1} AddGroupCat.instCoeSortAddGroupCatType.{u1} A) (CoeSort.coe.{succ (succ u1), succ (succ u1)} AddGroupCat.{u1} Type.{u1} AddGroupCat.instCoeSortAddGroupCatType.{u1} B) (CoeFun.coe.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} AddGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddGroupCat.{u1} AddGroupCat.largeCategory.{u1})) A B) (fun (_x : Quiver.Hom.{succ u1, succ u1} AddGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddGroupCat.{u1} AddGroupCat.largeCategory.{u1})) A B) => (CoeSort.coe.{succ (succ u1), succ (succ u1)} AddGroupCat.{u1} Type.{u1} AddGroupCat.instCoeSortAddGroupCatType.{u1} A) -> (CoeSort.coe.{succ (succ u1), succ (succ u1)} AddGroupCat.{u1} Type.{u1} AddGroupCat.instCoeSortAddGroupCatType.{u1} B)) (AddGroupCat.instCoeFunHomAddGroupCatToQuiverToCategoryStructLargeCategoryForAllCoeTypeInstCoeSortAddGroupCatType.{u1} A B) f))
+  forall {A : AddGroupCat.{u1}} {B : AddGroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} AddGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddGroupCat.{u1} instAddGroupCatLargeCategory.{u1})) A B), Iff (CategoryTheory.Epi.{u1, succ u1} AddGroupCat.{u1} instAddGroupCatLargeCategory.{u1} A B f) (Function.Surjective.{succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) (FunLike.coe.{succ u1, succ u1, succ u1} (AddMonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} A) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} A) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} A) (AddGroupCat.instGroupα.{u1} A)))) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) (AddGroupCat.instGroupα.{u1} B))))) (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} A) (fun (_x : CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} A) => CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) _x) (AddHomClass.toFunLike.{u1, u1, u1} (AddMonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} A) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} A) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} A) (AddGroupCat.instGroupα.{u1} A)))) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) (AddGroupCat.instGroupα.{u1} B))))) (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) (AddZeroClass.toAdd.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} A) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} A) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} A) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} A) (AddGroupCat.instGroupα.{u1} A))))) (AddZeroClass.toAdd.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) (AddGroupCat.instGroupα.{u1} B))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (AddMonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} A) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} A) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} A) (AddGroupCat.instGroupα.{u1} A)))) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) (AddGroupCat.instGroupα.{u1} B))))) (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} A) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} A) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} A) (AddGroupCat.instGroupα.{u1} A)))) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) (AddGroupCat.instGroupα.{u1} B)))) (AddMonoidHom.addMonoidHomClass.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} A) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} A) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} A) (AddGroupCat.instGroupα.{u1} A)))) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) (AddGroupCat.instGroupα.{u1} B))))))) f))
 Case conversion may be inaccurate. Consider using '#align AddGroup.epi_iff_surjective AddGroupCat.epi_iff_surjectiveₓ'. -/
 theorem epi_iff_surjective : Epi f ↔ Function.Surjective f :=
   by
@@ -513,7 +513,7 @@ theorem epi_iff_surjective : Epi f ↔ Function.Surjective f :=
 lean 3 declaration is
   forall {A : AddGroupCat.{u1}} {B : AddGroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} AddGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddGroupCat.{u1} AddGroupCat.largeCategory.{u1})) A B), Iff (CategoryTheory.Epi.{u1, succ u1} AddGroupCat.{u1} AddGroupCat.largeCategory.{u1} A B f) (Eq.{succ u1} (AddSubgroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddGroup.{u1}) B) (AddGroupCat.addGroup.{u1} B)) (AddMonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddGroup.{u1}) A) (AddGroupCat.addGroup.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddGroup.{u1}) B) (AddGroupCat.addGroup.{u1} B) f) (Top.top.{u1} (AddSubgroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddGroup.{u1}) B) (AddGroupCat.addGroup.{u1} B)) (AddSubgroup.hasTop.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddGroup.{u1}) B) (AddGroupCat.addGroup.{u1} B))))
 but is expected to have type
-  forall {A : AddGroupCat.{u1}} {B : AddGroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} AddGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddGroupCat.{u1} AddGroupCat.largeCategory.{u1})) A B), Iff (CategoryTheory.Epi.{u1, succ u1} AddGroupCat.{u1} AddGroupCat.largeCategory.{u1} A B f) (Eq.{succ u1} (AddSubgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) (AddGroupCat.instGroupα.{u1} B)) (AddMonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} A) (AddGroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) (AddGroupCat.instGroupα.{u1} B) f) (Top.top.{u1} (AddSubgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) (AddGroupCat.instGroupα.{u1} B)) (AddSubgroup.instTopAddSubgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) (AddGroupCat.instGroupα.{u1} B))))
+  forall {A : AddGroupCat.{u1}} {B : AddGroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} AddGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddGroupCat.{u1} instAddGroupCatLargeCategory.{u1})) A B), Iff (CategoryTheory.Epi.{u1, succ u1} AddGroupCat.{u1} instAddGroupCatLargeCategory.{u1} A B f) (Eq.{succ u1} (AddSubgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) (AddGroupCat.instGroupα_1.{u1} B)) (AddMonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} A) (AddGroupCat.instGroupα_1.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) (AddGroupCat.instGroupα_1.{u1} B) f) (Top.top.{u1} (AddSubgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) (AddGroupCat.instGroupα_1.{u1} B)) (AddSubgroup.instTopAddSubgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) (AddGroupCat.instGroupα_1.{u1} B))))
 Case conversion may be inaccurate. Consider using '#align AddGroup.epi_iff_range_eq_top AddGroupCat.epi_iff_range_eq_topₓ'. -/
 theorem epi_iff_range_eq_top : Epi f ↔ f.range = ⊤ :=
   Iff.trans (epi_iff_surjective _) (AddSubgroup.eq_top_iff' f.range).symm
@@ -551,7 +551,7 @@ variable {A B : CommGroupCat.{u}} (f : A ⟶ B)
 lean 3 declaration is
   forall {A : CommGroupCat.{u1}} {B : CommGroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} CommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} CommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} CommGroupCat.{u1} CommGroupCat.largeCategory.{u1})) A B) [_inst_1 : CategoryTheory.Mono.{u1, succ u1} CommGroupCat.{u1} CommGroupCat.largeCategory.{u1} A B f], Eq.{succ u1} (Subgroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (CommGroup.toGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (CommGroupCat.commGroupInstance.{u1} A))) (MonoidHom.ker.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (CommGroup.toGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (CommGroupCat.commGroupInstance.{u1} A)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (Group.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (CommGroup.toGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (CategoryTheory.Bundled.str.{u1, u1} CommGroup.{u1} B)))) f) (Bot.bot.{u1} (Subgroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (CommGroup.toGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (CommGroupCat.commGroupInstance.{u1} A))) (Subgroup.hasBot.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (CommGroup.toGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (CommGroupCat.commGroupInstance.{u1} A))))
 but is expected to have type
-  forall {A : CommGroupCat.{u1}} {B : CommGroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} CommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} CommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} CommGroupCat.{u1} CommGroupCat.largeCategory.{u1})) A B) [_inst_1 : CategoryTheory.Mono.{u1, succ u1} CommGroupCat.{u1} CommGroupCat.largeCategory.{u1} A B f], Eq.{succ u1} (Subgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (_private.Mathlib.Algebra.Category.GroupCat.EpiMono.0.CommGroupCat.instGroupαCommGroup.{u1} A)) (MonoidHom.ker.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (_private.Mathlib.Algebra.Category.GroupCat.EpiMono.0.CommGroupCat.instGroupαCommGroup.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) ((fun {α : Type.{u1}} (h : Group.{u1} α) => DivInvMonoid.toMonoid.{u1} α (Group.toDivInvMonoid.{u1} α h)) (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (CommGroup.toGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (CategoryTheory.Bundled.str.{u1, u1} CommGroup.{u1} B)))) f) (Bot.bot.{u1} (Subgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (_private.Mathlib.Algebra.Category.GroupCat.EpiMono.0.CommGroupCat.instGroupαCommGroup.{u1} A)) (Subgroup.instBotSubgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (_private.Mathlib.Algebra.Category.GroupCat.EpiMono.0.CommGroupCat.instGroupαCommGroup.{u1} A)))
+  forall {A : CommGroupCat.{u1}} {B : CommGroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} CommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} CommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} CommGroupCat.{u1} instCommGroupCatLargeCategory.{u1})) A B) [_inst_1 : CategoryTheory.Mono.{u1, succ u1} CommGroupCat.{u1} instCommGroupCatLargeCategory.{u1} A B f], Eq.{succ u1} (Subgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (_private.Mathlib.Algebra.Category.GroupCat.EpiMono.0.CommGroupCat.instGroupαCommGroup.{u1} A)) (MonoidHom.ker.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (_private.Mathlib.Algebra.Category.GroupCat.EpiMono.0.CommGroupCat.instGroupαCommGroup.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) ((fun {α : Type.{u1}} (h : Group.{u1} α) => DivInvMonoid.toMonoid.{u1} α (Group.toDivInvMonoid.{u1} α h)) (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (CommGroup.toGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (CategoryTheory.Bundled.str.{u1, u1} CommGroup.{u1} B)))) f) (Bot.bot.{u1} (Subgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (_private.Mathlib.Algebra.Category.GroupCat.EpiMono.0.CommGroupCat.instGroupαCommGroup.{u1} A)) (Subgroup.instBotSubgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (_private.Mathlib.Algebra.Category.GroupCat.EpiMono.0.CommGroupCat.instGroupαCommGroup.{u1} A)))
 Case conversion may be inaccurate. Consider using '#align CommGroup.ker_eq_bot_of_mono CommGroupCat.ker_eq_bot_of_monoₓ'. -/
 @[to_additive AddCommGroupCat.ker_eq_bot_of_mono]
 theorem ker_eq_bot_of_mono [Mono f] : f.ker = ⊥ :=
@@ -564,7 +564,7 @@ theorem ker_eq_bot_of_mono [Mono f] : f.ker = ⊥ :=
 lean 3 declaration is
   forall {A : CommGroupCat.{u1}} {B : CommGroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} CommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} CommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} CommGroupCat.{u1} CommGroupCat.largeCategory.{u1})) A B), Iff (CategoryTheory.Mono.{u1, succ u1} CommGroupCat.{u1} CommGroupCat.largeCategory.{u1} A B f) (Eq.{succ u1} (Subgroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (CommGroup.toGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (CommGroupCat.commGroupInstance.{u1} A))) (MonoidHom.ker.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (CommGroup.toGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (CommGroupCat.commGroupInstance.{u1} A)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (Group.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (CommGroup.toGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (CategoryTheory.Bundled.str.{u1, u1} CommGroup.{u1} B)))) f) (Bot.bot.{u1} (Subgroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (CommGroup.toGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (CommGroupCat.commGroupInstance.{u1} A))) (Subgroup.hasBot.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (CommGroup.toGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (CommGroupCat.commGroupInstance.{u1} A)))))
 but is expected to have type
-  forall {A : CommGroupCat.{u1}} {B : CommGroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} CommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} CommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} CommGroupCat.{u1} CommGroupCat.largeCategory.{u1})) A B), Iff (CategoryTheory.Mono.{u1, succ u1} CommGroupCat.{u1} CommGroupCat.largeCategory.{u1} A B f) (Eq.{succ u1} (Subgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (_private.Mathlib.Algebra.Category.GroupCat.EpiMono.0.CommGroupCat.instGroupαCommGroup.{u1} A)) (MonoidHom.ker.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (_private.Mathlib.Algebra.Category.GroupCat.EpiMono.0.CommGroupCat.instGroupαCommGroup.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) ((fun {α : Type.{u1}} (h : Group.{u1} α) => DivInvMonoid.toMonoid.{u1} α (Group.toDivInvMonoid.{u1} α h)) (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (CommGroup.toGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (CategoryTheory.Bundled.str.{u1, u1} CommGroup.{u1} B)))) f) (Bot.bot.{u1} (Subgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (_private.Mathlib.Algebra.Category.GroupCat.EpiMono.0.CommGroupCat.instGroupαCommGroup.{u1} A)) (Subgroup.instBotSubgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (_private.Mathlib.Algebra.Category.GroupCat.EpiMono.0.CommGroupCat.instGroupαCommGroup.{u1} A))))
+  forall {A : CommGroupCat.{u1}} {B : CommGroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} CommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} CommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} CommGroupCat.{u1} instCommGroupCatLargeCategory.{u1})) A B), Iff (CategoryTheory.Mono.{u1, succ u1} CommGroupCat.{u1} instCommGroupCatLargeCategory.{u1} A B f) (Eq.{succ u1} (Subgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (_private.Mathlib.Algebra.Category.GroupCat.EpiMono.0.CommGroupCat.instGroupαCommGroup.{u1} A)) (MonoidHom.ker.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (_private.Mathlib.Algebra.Category.GroupCat.EpiMono.0.CommGroupCat.instGroupαCommGroup.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) ((fun {α : Type.{u1}} (h : Group.{u1} α) => DivInvMonoid.toMonoid.{u1} α (Group.toDivInvMonoid.{u1} α h)) (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (CommGroup.toGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (CategoryTheory.Bundled.str.{u1, u1} CommGroup.{u1} B)))) f) (Bot.bot.{u1} (Subgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (_private.Mathlib.Algebra.Category.GroupCat.EpiMono.0.CommGroupCat.instGroupαCommGroup.{u1} A)) (Subgroup.instBotSubgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (_private.Mathlib.Algebra.Category.GroupCat.EpiMono.0.CommGroupCat.instGroupαCommGroup.{u1} A))))
 Case conversion may be inaccurate. Consider using '#align CommGroup.mono_iff_ker_eq_bot CommGroupCat.mono_iff_ker_eq_botₓ'. -/
 @[to_additive AddCommGroupCat.mono_iff_ker_eq_bot]
 theorem mono_iff_ker_eq_bot : Mono f ↔ f.ker = ⊥ :=
@@ -577,7 +577,7 @@ theorem mono_iff_ker_eq_bot : Mono f ↔ f.ker = ⊥ :=
 lean 3 declaration is
   forall {A : CommGroupCat.{u1}} {B : CommGroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} CommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} CommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} CommGroupCat.{u1} CommGroupCat.largeCategory.{u1})) A B), Iff (CategoryTheory.Mono.{u1, succ u1} CommGroupCat.{u1} CommGroupCat.largeCategory.{u1} A B f) (Function.Injective.{succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} CommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} CommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} CommGroupCat.{u1} CommGroupCat.largeCategory.{u1})) A B) (fun (_x : MonoidHom.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (Group.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (CommGroup.toGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (CategoryTheory.Bundled.str.{u1, u1} CommGroup.{u1} A)))) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (Group.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (CommGroup.toGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (CategoryTheory.Bundled.str.{u1, u1} CommGroup.{u1} B))))) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B)) (MonoidHom.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (Group.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (CommGroup.toGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (CategoryTheory.Bundled.str.{u1, u1} CommGroup.{u1} A)))) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (Group.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (CommGroup.toGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (CategoryTheory.Bundled.str.{u1, u1} CommGroup.{u1} B))))) f))
 but is expected to have type
-  forall {A : CommGroupCat.{u1}} {B : CommGroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} CommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} CommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} CommGroupCat.{u1} CommGroupCat.largeCategory.{u1})) A B), Iff (CategoryTheory.Mono.{u1, succ u1} CommGroupCat.{u1} CommGroupCat.largeCategory.{u1} A B f) (Function.Injective.{succ u1, succ u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} CommGroupCat.{u1} Type.{u1} CommGroupCat.instCoeSortCommGroupCatType.{u1} A) (CoeSort.coe.{succ (succ u1), succ (succ u1)} CommGroupCat.{u1} Type.{u1} CommGroupCat.instCoeSortCommGroupCatType.{u1} B) (CoeFun.coe.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} CommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} CommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} CommGroupCat.{u1} CommGroupCat.largeCategory.{u1})) A B) (fun (_x : Quiver.Hom.{succ u1, succ u1} CommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} CommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} CommGroupCat.{u1} CommGroupCat.largeCategory.{u1})) A B) => (CoeSort.coe.{succ (succ u1), succ (succ u1)} CommGroupCat.{u1} Type.{u1} CommGroupCat.instCoeSortCommGroupCatType.{u1} A) -> (CoeSort.coe.{succ (succ u1), succ (succ u1)} CommGroupCat.{u1} Type.{u1} CommGroupCat.instCoeSortCommGroupCatType.{u1} B)) (CommGroupCat.instCoeFunHomCommGroupCatToQuiverToCategoryStructLargeCategoryForAllCoeTypeInstCoeSortCommGroupCatType.{u1} A B) f))
+  forall {A : CommGroupCat.{u1}} {B : CommGroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} CommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} CommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} CommGroupCat.{u1} instCommGroupCatLargeCategory.{u1})) A B), Iff (CategoryTheory.Mono.{u1, succ u1} CommGroupCat.{u1} instCommGroupCatLargeCategory.{u1} A B f) (Function.Injective.{succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (FunLike.coe.{succ u1, succ u1, succ u1} (MonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CommGroup.toGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CommGroupCat.commGroupInstance.{u1} A))))) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (CommGroup.toGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (CommGroupCat.commGroupInstance.{u1} B)))))) (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (fun (_x : CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) => CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) _x) (MulHomClass.toFunLike.{u1, u1, u1} (MonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CommGroup.toGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CommGroupCat.commGroupInstance.{u1} A))))) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (CommGroup.toGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (CommGroupCat.commGroupInstance.{u1} B)))))) (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CommGroup.toGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CommGroupCat.commGroupInstance.{u1} A)))))) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (CommGroup.toGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (CommGroupCat.commGroupInstance.{u1} B)))))) (MonoidHomClass.toMulHomClass.{u1, u1, u1} (MonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CommGroup.toGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CommGroupCat.commGroupInstance.{u1} A))))) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (CommGroup.toGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (CommGroupCat.commGroupInstance.{u1} B)))))) (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CommGroup.toGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CommGroupCat.commGroupInstance.{u1} A))))) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (CommGroup.toGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (CommGroupCat.commGroupInstance.{u1} B))))) (MonoidHom.monoidHomClass.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CommGroup.toGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CommGroupCat.commGroupInstance.{u1} A))))) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (CommGroup.toGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (CommGroupCat.commGroupInstance.{u1} B)))))))) f))
 Case conversion may be inaccurate. Consider using '#align CommGroup.mono_iff_injective CommGroupCat.mono_iff_injectiveₓ'. -/
 @[to_additive AddCommGroupCat.mono_iff_injective]
 theorem mono_iff_injective : Mono f ↔ Function.Injective f :=
@@ -589,7 +589,7 @@ theorem mono_iff_injective : Mono f ↔ Function.Injective f :=
 lean 3 declaration is
   forall {A : CommGroupCat.{u1}} {B : CommGroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} CommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} CommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} CommGroupCat.{u1} CommGroupCat.largeCategory.{u1})) A B) [_inst_1 : CategoryTheory.Epi.{u1, succ u1} CommGroupCat.{u1} CommGroupCat.largeCategory.{u1} A B f], Eq.{succ u1} (Subgroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (CommGroup.toGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (CommGroupCat.commGroupInstance.{u1} B))) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (CommGroup.toGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (CommGroupCat.commGroupInstance.{u1} A)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (CommGroup.toGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (CommGroupCat.commGroupInstance.{u1} B)) f) (Top.top.{u1} (Subgroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (CommGroup.toGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (CommGroupCat.commGroupInstance.{u1} B))) (Subgroup.hasTop.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (CommGroup.toGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (CommGroupCat.commGroupInstance.{u1} B))))
 but is expected to have type
-  forall {A : CommGroupCat.{u1}} {B : CommGroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} CommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} CommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} CommGroupCat.{u1} CommGroupCat.largeCategory.{u1})) A B) [_inst_1 : CategoryTheory.Epi.{u1, succ u1} CommGroupCat.{u1} CommGroupCat.largeCategory.{u1} A B f], Eq.{succ u1} (Subgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EpiMono.0.CommGroupCat.instGroupαCommGroup.{u1} B)) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (_private.Mathlib.Algebra.Category.GroupCat.EpiMono.0.CommGroupCat.instGroupαCommGroup.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EpiMono.0.CommGroupCat.instGroupαCommGroup.{u1} B) f) (Top.top.{u1} (Subgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EpiMono.0.CommGroupCat.instGroupαCommGroup.{u1} B)) (Subgroup.instTopSubgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EpiMono.0.CommGroupCat.instGroupαCommGroup.{u1} B)))
+  forall {A : CommGroupCat.{u1}} {B : CommGroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} CommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} CommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} CommGroupCat.{u1} instCommGroupCatLargeCategory.{u1})) A B) [_inst_1 : CategoryTheory.Epi.{u1, succ u1} CommGroupCat.{u1} instCommGroupCatLargeCategory.{u1} A B f], Eq.{succ u1} (Subgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EpiMono.0.CommGroupCat.instGroupαCommGroup.{u1} B)) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (_private.Mathlib.Algebra.Category.GroupCat.EpiMono.0.CommGroupCat.instGroupαCommGroup.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EpiMono.0.CommGroupCat.instGroupαCommGroup.{u1} B) f) (Top.top.{u1} (Subgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EpiMono.0.CommGroupCat.instGroupαCommGroup.{u1} B)) (Subgroup.instTopSubgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EpiMono.0.CommGroupCat.instGroupαCommGroup.{u1} B)))
 Case conversion may be inaccurate. Consider using '#align CommGroup.range_eq_top_of_epi CommGroupCat.range_eq_top_of_epiₓ'. -/
 @[to_additive]
 theorem range_eq_top_of_epi [Epi f] : f.range = ⊤ :=
@@ -602,7 +602,7 @@ theorem range_eq_top_of_epi [Epi f] : f.range = ⊤ :=
 lean 3 declaration is
   forall {A : CommGroupCat.{u1}} {B : CommGroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} CommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} CommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} CommGroupCat.{u1} CommGroupCat.largeCategory.{u1})) A B), Iff (CategoryTheory.Epi.{u1, succ u1} CommGroupCat.{u1} CommGroupCat.largeCategory.{u1} A B f) (Eq.{succ u1} (Subgroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (CommGroup.toGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (CommGroupCat.commGroupInstance.{u1} B))) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (CommGroup.toGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (CommGroupCat.commGroupInstance.{u1} A)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (CommGroup.toGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (CommGroupCat.commGroupInstance.{u1} B)) f) (Top.top.{u1} (Subgroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (CommGroup.toGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (CommGroupCat.commGroupInstance.{u1} B))) (Subgroup.hasTop.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (CommGroup.toGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (CommGroupCat.commGroupInstance.{u1} B)))))
 but is expected to have type
-  forall {A : CommGroupCat.{u1}} {B : CommGroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} CommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} CommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} CommGroupCat.{u1} CommGroupCat.largeCategory.{u1})) A B), Iff (CategoryTheory.Epi.{u1, succ u1} CommGroupCat.{u1} CommGroupCat.largeCategory.{u1} A B f) (Eq.{succ u1} (Subgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EpiMono.0.CommGroupCat.instGroupαCommGroup.{u1} B)) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (_private.Mathlib.Algebra.Category.GroupCat.EpiMono.0.CommGroupCat.instGroupαCommGroup.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EpiMono.0.CommGroupCat.instGroupαCommGroup.{u1} B) f) (Top.top.{u1} (Subgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EpiMono.0.CommGroupCat.instGroupαCommGroup.{u1} B)) (Subgroup.instTopSubgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EpiMono.0.CommGroupCat.instGroupαCommGroup.{u1} B))))
+  forall {A : CommGroupCat.{u1}} {B : CommGroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} CommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} CommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} CommGroupCat.{u1} instCommGroupCatLargeCategory.{u1})) A B), Iff (CategoryTheory.Epi.{u1, succ u1} CommGroupCat.{u1} instCommGroupCatLargeCategory.{u1} A B f) (Eq.{succ u1} (Subgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EpiMono.0.CommGroupCat.instGroupαCommGroup.{u1} B)) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (_private.Mathlib.Algebra.Category.GroupCat.EpiMono.0.CommGroupCat.instGroupαCommGroup.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EpiMono.0.CommGroupCat.instGroupαCommGroup.{u1} B) f) (Top.top.{u1} (Subgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EpiMono.0.CommGroupCat.instGroupαCommGroup.{u1} B)) (Subgroup.instTopSubgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EpiMono.0.CommGroupCat.instGroupαCommGroup.{u1} B))))
 Case conversion may be inaccurate. Consider using '#align CommGroup.epi_iff_range_eq_top CommGroupCat.epi_iff_range_eq_topₓ'. -/
 @[to_additive]
 theorem epi_iff_range_eq_top : Epi f ↔ f.range = ⊤ :=
@@ -615,7 +615,7 @@ theorem epi_iff_range_eq_top : Epi f ↔ f.range = ⊤ :=
 lean 3 declaration is
   forall {A : CommGroupCat.{u1}} {B : CommGroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} CommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} CommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} CommGroupCat.{u1} CommGroupCat.largeCategory.{u1})) A B), Iff (CategoryTheory.Epi.{u1, succ u1} CommGroupCat.{u1} CommGroupCat.largeCategory.{u1} A B f) (Function.Surjective.{succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} CommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} CommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} CommGroupCat.{u1} CommGroupCat.largeCategory.{u1})) A B) (fun (_x : MonoidHom.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (Group.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (CommGroup.toGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (CategoryTheory.Bundled.str.{u1, u1} CommGroup.{u1} A)))) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (Group.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (CommGroup.toGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (CategoryTheory.Bundled.str.{u1, u1} CommGroup.{u1} B))))) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B)) (MonoidHom.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (Group.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (CommGroup.toGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (CategoryTheory.Bundled.str.{u1, u1} CommGroup.{u1} A)))) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (Group.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (CommGroup.toGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (CategoryTheory.Bundled.str.{u1, u1} CommGroup.{u1} B))))) f))
 but is expected to have type
-  forall {A : CommGroupCat.{u1}} {B : CommGroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} CommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} CommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} CommGroupCat.{u1} CommGroupCat.largeCategory.{u1})) A B), Iff (CategoryTheory.Epi.{u1, succ u1} CommGroupCat.{u1} CommGroupCat.largeCategory.{u1} A B f) (Function.Surjective.{succ u1, succ u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} CommGroupCat.{u1} Type.{u1} CommGroupCat.instCoeSortCommGroupCatType.{u1} A) (CoeSort.coe.{succ (succ u1), succ (succ u1)} CommGroupCat.{u1} Type.{u1} CommGroupCat.instCoeSortCommGroupCatType.{u1} B) (CoeFun.coe.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} CommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} CommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} CommGroupCat.{u1} CommGroupCat.largeCategory.{u1})) A B) (fun (_x : Quiver.Hom.{succ u1, succ u1} CommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} CommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} CommGroupCat.{u1} CommGroupCat.largeCategory.{u1})) A B) => (CoeSort.coe.{succ (succ u1), succ (succ u1)} CommGroupCat.{u1} Type.{u1} CommGroupCat.instCoeSortCommGroupCatType.{u1} A) -> (CoeSort.coe.{succ (succ u1), succ (succ u1)} CommGroupCat.{u1} Type.{u1} CommGroupCat.instCoeSortCommGroupCatType.{u1} B)) (CommGroupCat.instCoeFunHomCommGroupCatToQuiverToCategoryStructLargeCategoryForAllCoeTypeInstCoeSortCommGroupCatType.{u1} A B) f))
+  forall {A : CommGroupCat.{u1}} {B : CommGroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} CommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} CommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} CommGroupCat.{u1} instCommGroupCatLargeCategory.{u1})) A B), Iff (CategoryTheory.Epi.{u1, succ u1} CommGroupCat.{u1} instCommGroupCatLargeCategory.{u1} A B f) (Function.Surjective.{succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (FunLike.coe.{succ u1, succ u1, succ u1} (MonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CommGroup.toGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CommGroupCat.commGroupInstance.{u1} A))))) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (CommGroup.toGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (CommGroupCat.commGroupInstance.{u1} B)))))) (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (fun (_x : CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) => CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) _x) (MulHomClass.toFunLike.{u1, u1, u1} (MonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CommGroup.toGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CommGroupCat.commGroupInstance.{u1} A))))) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (CommGroup.toGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (CommGroupCat.commGroupInstance.{u1} B)))))) (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CommGroup.toGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CommGroupCat.commGroupInstance.{u1} A)))))) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (CommGroup.toGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (CommGroupCat.commGroupInstance.{u1} B)))))) (MonoidHomClass.toMulHomClass.{u1, u1, u1} (MonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CommGroup.toGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CommGroupCat.commGroupInstance.{u1} A))))) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (CommGroup.toGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (CommGroupCat.commGroupInstance.{u1} B)))))) (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CommGroup.toGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CommGroupCat.commGroupInstance.{u1} A))))) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (CommGroup.toGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (CommGroupCat.commGroupInstance.{u1} B))))) (MonoidHom.monoidHomClass.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CommGroup.toGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (CommGroupCat.commGroupInstance.{u1} A))))) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (CommGroup.toGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (CommGroupCat.commGroupInstance.{u1} B)))))))) f))
 Case conversion may be inaccurate. Consider using '#align CommGroup.epi_iff_surjective CommGroupCat.epi_iff_surjectiveₓ'. -/
 @[to_additive]
 theorem epi_iff_surjective : Epi f ↔ Function.Surjective f := by
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Jujian Zhang
 
 ! This file was ported from Lean 3 source module algebra.category.Group.epi_mono
-! leanprover-community/mathlib commit 70fd9563a21e7b963887c9360bd29b2393e6225a
+! leanprover-community/mathlib commit 781cb2eed038c4caf53bdbd8d20a95e5822d77df
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -13,6 +13,9 @@ import Mathbin.GroupTheory.QuotientGroup
 
 /-!
 # Monomorphisms and epimorphisms in `Group`
+
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
 In this file, we prove monomorphisms in category of group are injective homomorphisms and
 epimorphisms are surjective homomorphisms.
 -/
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Jujian Zhang
 
 ! This file was ported from Lean 3 source module algebra.category.Group.epi_mono
-! leanprover-community/mathlib commit 781cb2eed038c4caf53bdbd8d20a95e5822d77df
+! leanprover-community/mathlib commit 70fd9563a21e7b963887c9360bd29b2393e6225a
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -13,9 +13,6 @@ import Mathbin.GroupTheory.QuotientGroup
 
 /-!
 # Monomorphisms and epimorphisms in `Group`
-
-> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
-> Any changes to this file require a corresponding PR to mathlib4.
 In this file, we prove monomorphisms in category of group are injective homomorphisms and
 epimorphisms are surjective homomorphisms.
 -/
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Jujian Zhang
 
 ! This file was ported from Lean 3 source module algebra.category.Group.epi_mono
-! leanprover-community/mathlib commit 70fd9563a21e7b963887c9360bd29b2393e6225a
+! leanprover-community/mathlib commit 781cb2eed038c4caf53bdbd8d20a95e5822d77df
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -13,6 +13,9 @@ import Mathbin.GroupTheory.QuotientGroup
 
 /-!
 # Monomorphisms and epimorphisms in `Group`
+
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
 In this file, we prove monomorphisms in category of group are injective homomorphisms and
 epimorphisms are surjective homomorphisms.
 -/
Diff
@@ -32,6 +32,12 @@ section
 
 variable [Group A] [Group B]
 
+/- warning: monoid_hom.ker_eq_bot_of_cancel -> MonoidHom.ker_eq_bot_of_cancel is a dubious translation:
+lean 3 declaration is
+  forall {A : Type.{u1}} {B : Type.{u2}} [_inst_1 : Group.{u1} A] [_inst_2 : Group.{u2} B] {f : MonoidHom.{u1, u2} A B (Monoid.toMulOneClass.{u1} A (DivInvMonoid.toMonoid.{u1} A (Group.toDivInvMonoid.{u1} A _inst_1))) (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B _inst_2)))}, (forall (u : MonoidHom.{u1, u1} (coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} A _inst_1) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} A _inst_1) A (Subgroup.setLike.{u1} A _inst_1)) (MonoidHom.ker.{u1, u2} A _inst_1 B (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B _inst_2))) f)) A (Monoid.toMulOneClass.{u1} (coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} A _inst_1) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} A _inst_1) A (Subgroup.setLike.{u1} A _inst_1)) (MonoidHom.ker.{u1, u2} A _inst_1 B (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B _inst_2))) f)) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} A _inst_1) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} A _inst_1) A (Subgroup.setLike.{u1} A _inst_1)) (MonoidHom.ker.{u1, u2} A _inst_1 B (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B _inst_2))) f)) (Group.toDivInvMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} A _inst_1) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} A _inst_1) A (Subgroup.setLike.{u1} A _inst_1)) (MonoidHom.ker.{u1, u2} A _inst_1 B (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B _inst_2))) f)) (Subgroup.toGroup.{u1} A _inst_1 (MonoidHom.ker.{u1, u2} A _inst_1 B (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B _inst_2))) f))))) (Monoid.toMulOneClass.{u1} A (DivInvMonoid.toMonoid.{u1} A (Group.toDivInvMonoid.{u1} A _inst_1)))) (v : MonoidHom.{u1, u1} (coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} A _inst_1) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} A _inst_1) A (Subgroup.setLike.{u1} A _inst_1)) (MonoidHom.ker.{u1, u2} A _inst_1 B (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B _inst_2))) f)) A (Monoid.toMulOneClass.{u1} (coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} A _inst_1) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} A _inst_1) A (Subgroup.setLike.{u1} A _inst_1)) (MonoidHom.ker.{u1, u2} A _inst_1 B (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B _inst_2))) f)) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} A _inst_1) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} A _inst_1) A (Subgroup.setLike.{u1} A _inst_1)) (MonoidHom.ker.{u1, u2} A _inst_1 B (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B _inst_2))) f)) (Group.toDivInvMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} A _inst_1) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} A _inst_1) A (Subgroup.setLike.{u1} A _inst_1)) (MonoidHom.ker.{u1, u2} A _inst_1 B (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B _inst_2))) f)) (Subgroup.toGroup.{u1} A _inst_1 (MonoidHom.ker.{u1, u2} A _inst_1 B (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B _inst_2))) f))))) (Monoid.toMulOneClass.{u1} A (DivInvMonoid.toMonoid.{u1} A (Group.toDivInvMonoid.{u1} A _inst_1)))), (Eq.{max (succ u2) (succ u1)} (MonoidHom.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} A _inst_1) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} A _inst_1) A (Subgroup.setLike.{u1} A _inst_1)) (MonoidHom.ker.{u1, u2} A _inst_1 B (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B _inst_2))) f)) B (Monoid.toMulOneClass.{u1} (coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} A _inst_1) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} A _inst_1) A (Subgroup.setLike.{u1} A _inst_1)) (MonoidHom.ker.{u1, u2} A _inst_1 B (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B _inst_2))) f)) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} A _inst_1) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} A _inst_1) A (Subgroup.setLike.{u1} A _inst_1)) (MonoidHom.ker.{u1, u2} A _inst_1 B (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B _inst_2))) f)) (Group.toDivInvMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} A _inst_1) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} A _inst_1) A (Subgroup.setLike.{u1} A _inst_1)) (MonoidHom.ker.{u1, u2} A _inst_1 B (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B _inst_2))) f)) (Subgroup.toGroup.{u1} A _inst_1 (MonoidHom.ker.{u1, u2} A _inst_1 B (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B _inst_2))) f))))) (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B _inst_2)))) (MonoidHom.comp.{u1, u1, u2} (coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} A _inst_1) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} A _inst_1) A (Subgroup.setLike.{u1} A _inst_1)) (MonoidHom.ker.{u1, u2} A _inst_1 B (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B _inst_2))) f)) A B (Monoid.toMulOneClass.{u1} (coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} A _inst_1) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} A _inst_1) A (Subgroup.setLike.{u1} A _inst_1)) (MonoidHom.ker.{u1, u2} A _inst_1 B (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B _inst_2))) f)) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} A _inst_1) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} A _inst_1) A (Subgroup.setLike.{u1} A _inst_1)) (MonoidHom.ker.{u1, u2} A _inst_1 B (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B _inst_2))) f)) (Group.toDivInvMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} A _inst_1) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} A _inst_1) A (Subgroup.setLike.{u1} A _inst_1)) (MonoidHom.ker.{u1, u2} A _inst_1 B (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B _inst_2))) f)) (Subgroup.toGroup.{u1} A _inst_1 (MonoidHom.ker.{u1, u2} A _inst_1 B (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B _inst_2))) f))))) (Monoid.toMulOneClass.{u1} A (DivInvMonoid.toMonoid.{u1} A (Group.toDivInvMonoid.{u1} A _inst_1))) (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B _inst_2))) f u) (MonoidHom.comp.{u1, u1, u2} (coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} A _inst_1) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} A _inst_1) A (Subgroup.setLike.{u1} A _inst_1)) (MonoidHom.ker.{u1, u2} A _inst_1 B (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B _inst_2))) f)) A B (Monoid.toMulOneClass.{u1} (coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} A _inst_1) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} A _inst_1) A (Subgroup.setLike.{u1} A _inst_1)) (MonoidHom.ker.{u1, u2} A _inst_1 B (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B _inst_2))) f)) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} A _inst_1) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} A _inst_1) A (Subgroup.setLike.{u1} A _inst_1)) (MonoidHom.ker.{u1, u2} A _inst_1 B (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B _inst_2))) f)) (Group.toDivInvMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} A _inst_1) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} A _inst_1) A (Subgroup.setLike.{u1} A _inst_1)) (MonoidHom.ker.{u1, u2} A _inst_1 B (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B _inst_2))) f)) (Subgroup.toGroup.{u1} A _inst_1 (MonoidHom.ker.{u1, u2} A _inst_1 B (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B _inst_2))) f))))) (Monoid.toMulOneClass.{u1} A (DivInvMonoid.toMonoid.{u1} A (Group.toDivInvMonoid.{u1} A _inst_1))) (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B _inst_2))) f v)) -> (Eq.{succ u1} (MonoidHom.{u1, u1} (coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} A _inst_1) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} A _inst_1) A (Subgroup.setLike.{u1} A _inst_1)) (MonoidHom.ker.{u1, u2} A _inst_1 B (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B _inst_2))) f)) A (Monoid.toMulOneClass.{u1} (coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} A _inst_1) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} A _inst_1) A (Subgroup.setLike.{u1} A _inst_1)) (MonoidHom.ker.{u1, u2} A _inst_1 B (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B _inst_2))) f)) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} A _inst_1) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} A _inst_1) A (Subgroup.setLike.{u1} A _inst_1)) (MonoidHom.ker.{u1, u2} A _inst_1 B (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B _inst_2))) f)) (Group.toDivInvMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} A _inst_1) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} A _inst_1) A (Subgroup.setLike.{u1} A _inst_1)) (MonoidHom.ker.{u1, u2} A _inst_1 B (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B _inst_2))) f)) (Subgroup.toGroup.{u1} A _inst_1 (MonoidHom.ker.{u1, u2} A _inst_1 B (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B _inst_2))) f))))) (Monoid.toMulOneClass.{u1} A (DivInvMonoid.toMonoid.{u1} A (Group.toDivInvMonoid.{u1} A _inst_1)))) u v)) -> (Eq.{succ u1} (Subgroup.{u1} A _inst_1) (MonoidHom.ker.{u1, u2} A _inst_1 B (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B _inst_2))) f) (Bot.bot.{u1} (Subgroup.{u1} A _inst_1) (Subgroup.hasBot.{u1} A _inst_1)))
+but is expected to have type
+  forall {A : Type.{u1}} {B : Type.{u2}} [_inst_1 : Group.{u1} A] [_inst_2 : Group.{u2} B] {f : MonoidHom.{u1, u2} A B (Monoid.toMulOneClass.{u1} A (DivInvMonoid.toMonoid.{u1} A (Group.toDivInvMonoid.{u1} A _inst_1))) (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B _inst_2)))}, (forall (u : MonoidHom.{u1, u1} (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (Subgroup.{u1} A _inst_1) (SetLike.instMembership.{u1, u1} (Subgroup.{u1} A _inst_1) A (Subgroup.instSetLikeSubgroup.{u1} A _inst_1)) x (MonoidHom.ker.{u1, u2} A _inst_1 B (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B _inst_2))) f))) A (Submonoid.toMulOneClass.{u1} A (Monoid.toMulOneClass.{u1} A (DivInvMonoid.toMonoid.{u1} A (Group.toDivInvMonoid.{u1} A _inst_1))) (Subgroup.toSubmonoid.{u1} A _inst_1 (MonoidHom.ker.{u1, u2} A _inst_1 B (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B _inst_2))) f))) (Monoid.toMulOneClass.{u1} A (DivInvMonoid.toMonoid.{u1} A (Group.toDivInvMonoid.{u1} A _inst_1)))) (v : MonoidHom.{u1, u1} (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (Subgroup.{u1} A _inst_1) (SetLike.instMembership.{u1, u1} (Subgroup.{u1} A _inst_1) A (Subgroup.instSetLikeSubgroup.{u1} A _inst_1)) x (MonoidHom.ker.{u1, u2} A _inst_1 B (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B _inst_2))) f))) A (Submonoid.toMulOneClass.{u1} A (Monoid.toMulOneClass.{u1} A (DivInvMonoid.toMonoid.{u1} A (Group.toDivInvMonoid.{u1} A _inst_1))) (Subgroup.toSubmonoid.{u1} A _inst_1 (MonoidHom.ker.{u1, u2} A _inst_1 B (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B _inst_2))) f))) (Monoid.toMulOneClass.{u1} A (DivInvMonoid.toMonoid.{u1} A (Group.toDivInvMonoid.{u1} A _inst_1)))), (Eq.{max (succ u1) (succ u2)} (MonoidHom.{u1, u2} (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (Subgroup.{u1} A _inst_1) (SetLike.instMembership.{u1, u1} (Subgroup.{u1} A _inst_1) A (Subgroup.instSetLikeSubgroup.{u1} A _inst_1)) x (MonoidHom.ker.{u1, u2} A _inst_1 B (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B _inst_2))) f))) B (Submonoid.toMulOneClass.{u1} A (Monoid.toMulOneClass.{u1} A (DivInvMonoid.toMonoid.{u1} A (Group.toDivInvMonoid.{u1} A _inst_1))) (Subgroup.toSubmonoid.{u1} A _inst_1 (MonoidHom.ker.{u1, u2} A _inst_1 B (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B _inst_2))) f))) (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B _inst_2)))) (MonoidHom.comp.{u1, u1, u2} (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (Subgroup.{u1} A _inst_1) (SetLike.instMembership.{u1, u1} (Subgroup.{u1} A _inst_1) A (Subgroup.instSetLikeSubgroup.{u1} A _inst_1)) x (MonoidHom.ker.{u1, u2} A _inst_1 B (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B _inst_2))) f))) A B (Submonoid.toMulOneClass.{u1} A (Monoid.toMulOneClass.{u1} A (DivInvMonoid.toMonoid.{u1} A (Group.toDivInvMonoid.{u1} A _inst_1))) (Subgroup.toSubmonoid.{u1} A _inst_1 (MonoidHom.ker.{u1, u2} A _inst_1 B (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B _inst_2))) f))) (Monoid.toMulOneClass.{u1} A (DivInvMonoid.toMonoid.{u1} A (Group.toDivInvMonoid.{u1} A _inst_1))) (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B _inst_2))) f u) (MonoidHom.comp.{u1, u1, u2} (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (Subgroup.{u1} A _inst_1) (SetLike.instMembership.{u1, u1} (Subgroup.{u1} A _inst_1) A (Subgroup.instSetLikeSubgroup.{u1} A _inst_1)) x (MonoidHom.ker.{u1, u2} A _inst_1 B (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B _inst_2))) f))) A B (Submonoid.toMulOneClass.{u1} A (Monoid.toMulOneClass.{u1} A (DivInvMonoid.toMonoid.{u1} A (Group.toDivInvMonoid.{u1} A _inst_1))) (Subgroup.toSubmonoid.{u1} A _inst_1 (MonoidHom.ker.{u1, u2} A _inst_1 B (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B _inst_2))) f))) (Monoid.toMulOneClass.{u1} A (DivInvMonoid.toMonoid.{u1} A (Group.toDivInvMonoid.{u1} A _inst_1))) (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B _inst_2))) f v)) -> (Eq.{succ u1} (MonoidHom.{u1, u1} (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (Subgroup.{u1} A _inst_1) (SetLike.instMembership.{u1, u1} (Subgroup.{u1} A _inst_1) A (Subgroup.instSetLikeSubgroup.{u1} A _inst_1)) x (MonoidHom.ker.{u1, u2} A _inst_1 B (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B _inst_2))) f))) A (Submonoid.toMulOneClass.{u1} A (Monoid.toMulOneClass.{u1} A (DivInvMonoid.toMonoid.{u1} A (Group.toDivInvMonoid.{u1} A _inst_1))) (Subgroup.toSubmonoid.{u1} A _inst_1 (MonoidHom.ker.{u1, u2} A _inst_1 B (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B _inst_2))) f))) (Monoid.toMulOneClass.{u1} A (DivInvMonoid.toMonoid.{u1} A (Group.toDivInvMonoid.{u1} A _inst_1)))) u v)) -> (Eq.{succ u1} (Subgroup.{u1} A _inst_1) (MonoidHom.ker.{u1, u2} A _inst_1 B (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B _inst_2))) f) (Bot.bot.{u1} (Subgroup.{u1} A _inst_1) (Subgroup.instBotSubgroup.{u1} A _inst_1)))
+Case conversion may be inaccurate. Consider using '#align monoid_hom.ker_eq_bot_of_cancel MonoidHom.ker_eq_bot_of_cancelₓ'. -/
 @[to_additive AddMonoidHom.ker_eq_bot_of_cancel]
 theorem ker_eq_bot_of_cancel {f : A →* B} (h : ∀ u v : f.ker →* A, f.comp u = f.comp v → u = v) :
     f.ker = ⊥ := by simpa using _root_.congr_arg range (h f.ker.subtype 1 (by tidy))
@@ -44,6 +50,12 @@ section
 
 variable [CommGroup A] [CommGroup B]
 
+/- warning: monoid_hom.range_eq_top_of_cancel -> MonoidHom.range_eq_top_of_cancel is a dubious translation:
+lean 3 declaration is
+  forall {A : Type.{u1}} {B : Type.{u2}} [_inst_1 : CommGroup.{u1} A] [_inst_2 : CommGroup.{u2} B] {f : MonoidHom.{u1, u2} A B (Monoid.toMulOneClass.{u1} A (DivInvMonoid.toMonoid.{u1} A (Group.toDivInvMonoid.{u1} A (CommGroup.toGroup.{u1} A _inst_1)))) (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B (CommGroup.toGroup.{u2} B _inst_2))))}, (forall (u : MonoidHom.{u2, u2} B (HasQuotient.Quotient.{u2, u2} B (Subgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (QuotientGroup.Subgroup.hasQuotient.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f)) (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B (CommGroup.toGroup.{u2} B _inst_2)))) (Monoid.toMulOneClass.{u2} (HasQuotient.Quotient.{u2, u2} B (Subgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (QuotientGroup.Subgroup.hasQuotient.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f)) (DivInvMonoid.toMonoid.{u2} (HasQuotient.Quotient.{u2, u2} B (Subgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (QuotientGroup.Subgroup.hasQuotient.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f)) (Group.toDivInvMonoid.{u2} (HasQuotient.Quotient.{u2, u2} B (Subgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (QuotientGroup.Subgroup.hasQuotient.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f)) (QuotientGroup.Quotient.group.{u2} B (CommGroup.toGroup.{u2} B _inst_2) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f) (Subgroup.normal_of_comm.{u2} B _inst_2 (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f))))))) (v : MonoidHom.{u2, u2} B (HasQuotient.Quotient.{u2, u2} B (Subgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (QuotientGroup.Subgroup.hasQuotient.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f)) (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B (CommGroup.toGroup.{u2} B _inst_2)))) (Monoid.toMulOneClass.{u2} (HasQuotient.Quotient.{u2, u2} B (Subgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (QuotientGroup.Subgroup.hasQuotient.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f)) (DivInvMonoid.toMonoid.{u2} (HasQuotient.Quotient.{u2, u2} B (Subgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (QuotientGroup.Subgroup.hasQuotient.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f)) (Group.toDivInvMonoid.{u2} (HasQuotient.Quotient.{u2, u2} B (Subgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (QuotientGroup.Subgroup.hasQuotient.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f)) (QuotientGroup.Quotient.group.{u2} B (CommGroup.toGroup.{u2} B _inst_2) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f) (Subgroup.normal_of_comm.{u2} B _inst_2 (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f))))))), (Eq.{max (succ u2) (succ u1)} (MonoidHom.{u1, u2} A (HasQuotient.Quotient.{u2, u2} B (Subgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (QuotientGroup.Subgroup.hasQuotient.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f)) (Monoid.toMulOneClass.{u1} A (DivInvMonoid.toMonoid.{u1} A (Group.toDivInvMonoid.{u1} A (CommGroup.toGroup.{u1} A _inst_1)))) (Monoid.toMulOneClass.{u2} (HasQuotient.Quotient.{u2, u2} B (Subgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (QuotientGroup.Subgroup.hasQuotient.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f)) (DivInvMonoid.toMonoid.{u2} (HasQuotient.Quotient.{u2, u2} B (Subgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (QuotientGroup.Subgroup.hasQuotient.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f)) (Group.toDivInvMonoid.{u2} (HasQuotient.Quotient.{u2, u2} B (Subgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (QuotientGroup.Subgroup.hasQuotient.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f)) (QuotientGroup.Quotient.group.{u2} B (CommGroup.toGroup.{u2} B _inst_2) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f) (Subgroup.normal_of_comm.{u2} B _inst_2 (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f))))))) (MonoidHom.comp.{u1, u2, u2} A B (HasQuotient.Quotient.{u2, u2} B (Subgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (QuotientGroup.Subgroup.hasQuotient.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f)) (Monoid.toMulOneClass.{u1} A (DivInvMonoid.toMonoid.{u1} A (Group.toDivInvMonoid.{u1} A (CommGroup.toGroup.{u1} A _inst_1)))) (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B (CommGroup.toGroup.{u2} B _inst_2)))) (Monoid.toMulOneClass.{u2} (HasQuotient.Quotient.{u2, u2} B (Subgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (QuotientGroup.Subgroup.hasQuotient.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f)) (DivInvMonoid.toMonoid.{u2} (HasQuotient.Quotient.{u2, u2} B (Subgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (QuotientGroup.Subgroup.hasQuotient.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f)) (Group.toDivInvMonoid.{u2} (HasQuotient.Quotient.{u2, u2} B (Subgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (QuotientGroup.Subgroup.hasQuotient.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f)) (QuotientGroup.Quotient.group.{u2} B (CommGroup.toGroup.{u2} B _inst_2) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f) (Subgroup.normal_of_comm.{u2} B _inst_2 (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f)))))) u f) (MonoidHom.comp.{u1, u2, u2} A B (HasQuotient.Quotient.{u2, u2} B (Subgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (QuotientGroup.Subgroup.hasQuotient.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f)) (Monoid.toMulOneClass.{u1} A (DivInvMonoid.toMonoid.{u1} A (Group.toDivInvMonoid.{u1} A (CommGroup.toGroup.{u1} A _inst_1)))) (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B (CommGroup.toGroup.{u2} B _inst_2)))) (Monoid.toMulOneClass.{u2} (HasQuotient.Quotient.{u2, u2} B (Subgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (QuotientGroup.Subgroup.hasQuotient.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f)) (DivInvMonoid.toMonoid.{u2} (HasQuotient.Quotient.{u2, u2} B (Subgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (QuotientGroup.Subgroup.hasQuotient.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f)) (Group.toDivInvMonoid.{u2} (HasQuotient.Quotient.{u2, u2} B (Subgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (QuotientGroup.Subgroup.hasQuotient.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f)) (QuotientGroup.Quotient.group.{u2} B (CommGroup.toGroup.{u2} B _inst_2) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f) (Subgroup.normal_of_comm.{u2} B _inst_2 (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f)))))) v f)) -> (Eq.{succ u2} (MonoidHom.{u2, u2} B (HasQuotient.Quotient.{u2, u2} B (Subgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (QuotientGroup.Subgroup.hasQuotient.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f)) (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B (CommGroup.toGroup.{u2} B _inst_2)))) (Monoid.toMulOneClass.{u2} (HasQuotient.Quotient.{u2, u2} B (Subgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (QuotientGroup.Subgroup.hasQuotient.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f)) (DivInvMonoid.toMonoid.{u2} (HasQuotient.Quotient.{u2, u2} B (Subgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (QuotientGroup.Subgroup.hasQuotient.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f)) (Group.toDivInvMonoid.{u2} (HasQuotient.Quotient.{u2, u2} B (Subgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (QuotientGroup.Subgroup.hasQuotient.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f)) (QuotientGroup.Quotient.group.{u2} B (CommGroup.toGroup.{u2} B _inst_2) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f) (Subgroup.normal_of_comm.{u2} B _inst_2 (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f))))))) u v)) -> (Eq.{succ u2} (Subgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f) (Top.top.{u2} (Subgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (Subgroup.hasTop.{u2} B (CommGroup.toGroup.{u2} B _inst_2))))
+but is expected to have type
+  forall {A : Type.{u1}} {B : Type.{u2}} [_inst_1 : CommGroup.{u1} A] [_inst_2 : CommGroup.{u2} B] {f : MonoidHom.{u1, u2} A B (Monoid.toMulOneClass.{u1} A (DivInvMonoid.toMonoid.{u1} A (Group.toDivInvMonoid.{u1} A (CommGroup.toGroup.{u1} A _inst_1)))) (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B (CommGroup.toGroup.{u2} B _inst_2))))}, (forall (u : MonoidHom.{u2, u2} B (HasQuotient.Quotient.{u2, u2} B (Subgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (QuotientGroup.instHasQuotientSubgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f)) (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B (CommGroup.toGroup.{u2} B _inst_2)))) (Monoid.toMulOneClass.{u2} (HasQuotient.Quotient.{u2, u2} B (Subgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (QuotientGroup.instHasQuotientSubgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f)) (DivInvMonoid.toMonoid.{u2} (HasQuotient.Quotient.{u2, u2} B (Subgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (QuotientGroup.instHasQuotientSubgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f)) (Group.toDivInvMonoid.{u2} (HasQuotient.Quotient.{u2, u2} B (Subgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (QuotientGroup.instHasQuotientSubgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f)) (QuotientGroup.Quotient.group.{u2} B (CommGroup.toGroup.{u2} B _inst_2) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f) (Subgroup.normal_of_comm.{u2} B _inst_2 (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f))))))) (v : MonoidHom.{u2, u2} B (HasQuotient.Quotient.{u2, u2} B (Subgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (QuotientGroup.instHasQuotientSubgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f)) (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B (CommGroup.toGroup.{u2} B _inst_2)))) (Monoid.toMulOneClass.{u2} (HasQuotient.Quotient.{u2, u2} B (Subgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (QuotientGroup.instHasQuotientSubgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f)) (DivInvMonoid.toMonoid.{u2} (HasQuotient.Quotient.{u2, u2} B (Subgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (QuotientGroup.instHasQuotientSubgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f)) (Group.toDivInvMonoid.{u2} (HasQuotient.Quotient.{u2, u2} B (Subgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (QuotientGroup.instHasQuotientSubgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f)) (QuotientGroup.Quotient.group.{u2} B (CommGroup.toGroup.{u2} B _inst_2) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f) (Subgroup.normal_of_comm.{u2} B _inst_2 (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f))))))), (Eq.{max (succ u1) (succ u2)} (MonoidHom.{u1, u2} A (HasQuotient.Quotient.{u2, u2} B (Subgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (QuotientGroup.instHasQuotientSubgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f)) (Monoid.toMulOneClass.{u1} A (DivInvMonoid.toMonoid.{u1} A (Group.toDivInvMonoid.{u1} A (CommGroup.toGroup.{u1} A _inst_1)))) (Monoid.toMulOneClass.{u2} (HasQuotient.Quotient.{u2, u2} B (Subgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (QuotientGroup.instHasQuotientSubgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f)) (DivInvMonoid.toMonoid.{u2} (HasQuotient.Quotient.{u2, u2} B (Subgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (QuotientGroup.instHasQuotientSubgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f)) (Group.toDivInvMonoid.{u2} (HasQuotient.Quotient.{u2, u2} B (Subgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (QuotientGroup.instHasQuotientSubgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f)) (QuotientGroup.Quotient.group.{u2} B (CommGroup.toGroup.{u2} B _inst_2) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f) (Subgroup.normal_of_comm.{u2} B _inst_2 (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f))))))) (MonoidHom.comp.{u1, u2, u2} A B (HasQuotient.Quotient.{u2, u2} B (Subgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (QuotientGroup.instHasQuotientSubgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f)) (Monoid.toMulOneClass.{u1} A (DivInvMonoid.toMonoid.{u1} A (Group.toDivInvMonoid.{u1} A (CommGroup.toGroup.{u1} A _inst_1)))) (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B (CommGroup.toGroup.{u2} B _inst_2)))) (Monoid.toMulOneClass.{u2} (HasQuotient.Quotient.{u2, u2} B (Subgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (QuotientGroup.instHasQuotientSubgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f)) (DivInvMonoid.toMonoid.{u2} (HasQuotient.Quotient.{u2, u2} B (Subgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (QuotientGroup.instHasQuotientSubgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f)) (Group.toDivInvMonoid.{u2} (HasQuotient.Quotient.{u2, u2} B (Subgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (QuotientGroup.instHasQuotientSubgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f)) (QuotientGroup.Quotient.group.{u2} B (CommGroup.toGroup.{u2} B _inst_2) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f) (Subgroup.normal_of_comm.{u2} B _inst_2 (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f)))))) u f) (MonoidHom.comp.{u1, u2, u2} A B (HasQuotient.Quotient.{u2, u2} B (Subgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (QuotientGroup.instHasQuotientSubgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f)) (Monoid.toMulOneClass.{u1} A (DivInvMonoid.toMonoid.{u1} A (Group.toDivInvMonoid.{u1} A (CommGroup.toGroup.{u1} A _inst_1)))) (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B (CommGroup.toGroup.{u2} B _inst_2)))) (Monoid.toMulOneClass.{u2} (HasQuotient.Quotient.{u2, u2} B (Subgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (QuotientGroup.instHasQuotientSubgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f)) (DivInvMonoid.toMonoid.{u2} (HasQuotient.Quotient.{u2, u2} B (Subgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (QuotientGroup.instHasQuotientSubgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f)) (Group.toDivInvMonoid.{u2} (HasQuotient.Quotient.{u2, u2} B (Subgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (QuotientGroup.instHasQuotientSubgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f)) (QuotientGroup.Quotient.group.{u2} B (CommGroup.toGroup.{u2} B _inst_2) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f) (Subgroup.normal_of_comm.{u2} B _inst_2 (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f)))))) v f)) -> (Eq.{succ u2} (MonoidHom.{u2, u2} B (HasQuotient.Quotient.{u2, u2} B (Subgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (QuotientGroup.instHasQuotientSubgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f)) (Monoid.toMulOneClass.{u2} B (DivInvMonoid.toMonoid.{u2} B (Group.toDivInvMonoid.{u2} B (CommGroup.toGroup.{u2} B _inst_2)))) (Monoid.toMulOneClass.{u2} (HasQuotient.Quotient.{u2, u2} B (Subgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (QuotientGroup.instHasQuotientSubgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f)) (DivInvMonoid.toMonoid.{u2} (HasQuotient.Quotient.{u2, u2} B (Subgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (QuotientGroup.instHasQuotientSubgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f)) (Group.toDivInvMonoid.{u2} (HasQuotient.Quotient.{u2, u2} B (Subgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (QuotientGroup.instHasQuotientSubgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f)) (QuotientGroup.Quotient.group.{u2} B (CommGroup.toGroup.{u2} B _inst_2) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f) (Subgroup.normal_of_comm.{u2} B _inst_2 (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f))))))) u v)) -> (Eq.{succ u2} (Subgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (MonoidHom.range.{u1, u2} A (CommGroup.toGroup.{u1} A _inst_1) B (CommGroup.toGroup.{u2} B _inst_2) f) (Top.top.{u2} (Subgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2)) (Subgroup.instTopSubgroup.{u2} B (CommGroup.toGroup.{u2} B _inst_2))))
+Case conversion may be inaccurate. Consider using '#align monoid_hom.range_eq_top_of_cancel MonoidHom.range_eq_top_of_cancelₓ'. -/
 @[to_additive AddMonoidHom.range_eq_top_of_cancel]
 theorem range_eq_top_of_cancel {f : A →* B}
     (h : ∀ u v : B →* B ⧸ f.range, u.comp f = v.comp f → u = v) : f.range = ⊤ :=
@@ -71,6 +83,12 @@ namespace GroupCat
 
 variable {A B : GroupCat.{u}} (f : A ⟶ B)
 
+/- warning: Group.ker_eq_bot_of_mono -> GroupCat.ker_eq_bot_of_mono is a dubious translation:
+lean 3 declaration is
+  forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1})) A B) [_inst_1 : CategoryTheory.Mono.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1} A B f], Eq.{succ u1} (Subgroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A)) (MonoidHom.ker.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (CategoryTheory.Bundled.str.{u1, u1} Group.{u1} B))) f) (Bot.bot.{u1} (Subgroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A)) (Subgroup.hasBot.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A)))
+but is expected to have type
+  forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1})) A B) [_inst_1 : CategoryTheory.Mono.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1} A B f], Eq.{succ u1} (Subgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A)) (MonoidHom.ker.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) ((fun {α : Type.{u1}} (h : Group.{u1} α) => DivInvMonoid.toMonoid.{u1} α (Group.toDivInvMonoid.{u1} α h)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (CategoryTheory.Bundled.str.{u1, u1} Group.{u1} B))) f) (Bot.bot.{u1} (Subgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A)) (Subgroup.instBotSubgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A)))
+Case conversion may be inaccurate. Consider using '#align Group.ker_eq_bot_of_mono GroupCat.ker_eq_bot_of_monoₓ'. -/
 @[to_additive AddGroupCat.ker_eq_bot_of_mono]
 theorem ker_eq_bot_of_mono [Mono f] : f.ker = ⊥ :=
   MonoidHom.ker_eq_bot_of_cancel fun u v =>
@@ -78,6 +96,12 @@ theorem ker_eq_bot_of_mono [Mono f] : f.ker = ⊥ :=
 #align Group.ker_eq_bot_of_mono GroupCat.ker_eq_bot_of_mono
 #align AddGroup.ker_eq_bot_of_mono AddGroupCat.ker_eq_bot_of_mono
 
+/- warning: Group.mono_iff_ker_eq_bot -> GroupCat.mono_iff_ker_eq_bot is a dubious translation:
+lean 3 declaration is
+  forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1})) A B), Iff (CategoryTheory.Mono.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1} A B f) (Eq.{succ u1} (Subgroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A)) (MonoidHom.ker.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (CategoryTheory.Bundled.str.{u1, u1} Group.{u1} B))) f) (Bot.bot.{u1} (Subgroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A)) (Subgroup.hasBot.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A))))
+but is expected to have type
+  forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1})) A B), Iff (CategoryTheory.Mono.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1} A B f) (Eq.{succ u1} (Subgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A)) (MonoidHom.ker.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) ((fun {α : Type.{u1}} (h : Group.{u1} α) => DivInvMonoid.toMonoid.{u1} α (Group.toDivInvMonoid.{u1} α h)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (CategoryTheory.Bundled.str.{u1, u1} Group.{u1} B))) f) (Bot.bot.{u1} (Subgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A)) (Subgroup.instBotSubgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A))))
+Case conversion may be inaccurate. Consider using '#align Group.mono_iff_ker_eq_bot GroupCat.mono_iff_ker_eq_botₓ'. -/
 @[to_additive AddGroupCat.mono_iff_ker_eq_bot]
 theorem mono_iff_ker_eq_bot : Mono f ↔ f.ker = ⊥ :=
   ⟨fun h => @ker_eq_bot_of_mono f h, fun h =>
@@ -85,6 +109,12 @@ theorem mono_iff_ker_eq_bot : Mono f ↔ f.ker = ⊥ :=
 #align Group.mono_iff_ker_eq_bot GroupCat.mono_iff_ker_eq_bot
 #align AddGroup.mono_iff_ker_eq_bot AddGroupCat.mono_iff_ker_eq_bot
 
+/- warning: Group.mono_iff_injective -> GroupCat.mono_iff_injective is a dubious translation:
+lean 3 declaration is
+  forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1})) A B), Iff (CategoryTheory.Mono.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1} A B f) (Function.Injective.{succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1})) A B) (fun (_x : MonoidHom.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (Group.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (CategoryTheory.Bundled.str.{u1, u1} Group.{u1} A))) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (CategoryTheory.Bundled.str.{u1, u1} Group.{u1} B)))) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (MonoidHom.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (Group.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (CategoryTheory.Bundled.str.{u1, u1} Group.{u1} A))) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (CategoryTheory.Bundled.str.{u1, u1} Group.{u1} B)))) f))
+but is expected to have type
+  forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1})) A B), Iff (CategoryTheory.Mono.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1} A B f) (Function.Injective.{succ u1, succ u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} A) (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (CoeFun.coe.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1})) A B) (fun (_x : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1})) A B) => (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} A) -> (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B)) (GroupCat.instCoeFunHomGroupCatToQuiverToCategoryStructLargeCategoryForAllCoeTypeInstCoeSortGroupCatType.{u1} A B) f))
+Case conversion may be inaccurate. Consider using '#align Group.mono_iff_injective GroupCat.mono_iff_injectiveₓ'. -/
 @[to_additive AddGroupCat.mono_iff_injective]
 theorem mono_iff_injective : Mono f ↔ Function.Injective f :=
   Iff.trans (mono_iff_ker_eq_bot f) <| MonoidHom.ker_eq_bot_iff f
@@ -96,6 +126,7 @@ namespace SurjectiveOfEpiAuxs
 -- mathport name: exprX
 local notation "X" => Set.range (Function.swap leftCoset f.range.carrier)
 
+#print GroupCat.SurjectiveOfEpiAuxs.XWithInfinity /-
 /-- Define `X'` to be the set of all left cosets with an extra point at "infinity".
 -/
 @[nolint has_nonempty_instance]
@@ -103,6 +134,7 @@ inductive XWithInfinity
   | from_coset : Set.range (Function.swap leftCoset f.range.carrier) → X_with_infinity
   | infinity : X_with_infinity
 #align Group.surjective_of_epi_auxs.X_with_infinity GroupCat.SurjectiveOfEpiAuxs.XWithInfinity
+-/
 
 open XWithInfinity Equiv.Perm
 
@@ -121,12 +153,18 @@ instance : SMul B X'
     where smul b x :=
     match x with
     | from_coset y =>
-      from_coset
+      fromCoset
         ⟨b *l y, by
           rw [← Subtype.val_eq_coe, ← y.2.choose_spec, leftCoset_assoc]
           use b * y.2.some⟩
     | ∞ => ∞
 
+/- warning: Group.surjective_of_epi_auxs.mul_smul -> GroupCat.SurjectiveOfEpiAuxs.mul_smul is a dubious translation:
+lean 3 declaration is
+  forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1})) A B) (b : coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (b' : coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (x : GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f), Eq.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (SMul.smul.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.hasSmul.{u1} A B f) (HMul.hMul.{u1, u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (instHMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (GroupCat.group.{u1} B)))))) b b') x) (SMul.smul.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.hasSmul.{u1} A B f) b (SMul.smul.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.hasSmul.{u1} A B f) b' x))
+but is expected to have type
+  forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1})) A B) (b : CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (b' : CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (x : GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f), Eq.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (HSMul.hSMul.{u1, u1, u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (instHSMul.{u1, u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.instSMulCoeGroupCatTypeInstCoeSortGroupCatTypeXWithInfinity.{u1} A B f)) (HMul.hMul.{u1, u1, u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (instHMul.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (MulOneClass.toMul.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Monoid.toMulOneClass.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (DivInvMonoid.toMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Group.toDivInvMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (GroupCat.instGroupCoeGroupCatTypeInstCoeSortGroupCatType.{u1} B)))))) b b') x) (HSMul.hSMul.{u1, u1, u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (instHSMul.{u1, u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.instSMulCoeGroupCatTypeInstCoeSortGroupCatTypeXWithInfinity.{u1} A B f)) b (HSMul.hSMul.{u1, u1, u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (instHSMul.{u1, u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.instSMulCoeGroupCatTypeInstCoeSortGroupCatTypeXWithInfinity.{u1} A B f)) b' x))
+Case conversion may be inaccurate. Consider using '#align Group.surjective_of_epi_auxs.mul_smul GroupCat.SurjectiveOfEpiAuxs.mul_smulₓ'. -/
 theorem mul_smul (b b' : B) (x : X') : (b * b') • x = b • b' • x :=
   match x with
   | from_coset y => by
@@ -135,6 +173,12 @@ theorem mul_smul (b b' : B) (x : X') : (b * b') • x = b • b' • x :=
   | ∞ => rfl
 #align Group.surjective_of_epi_auxs.mul_smul GroupCat.SurjectiveOfEpiAuxs.mul_smul
 
+/- warning: Group.surjective_of_epi_auxs.one_smul -> GroupCat.SurjectiveOfEpiAuxs.one_smul is a dubious translation:
+lean 3 declaration is
+  forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1})) A B) (x : GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f), Eq.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (SMul.smul.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.hasSmul.{u1} A B f) (OfNat.ofNat.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) 1 (OfNat.mk.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) 1 (One.one.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (MulOneClass.toHasOne.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (GroupCat.group.{u1} B)))))))) x) x
+but is expected to have type
+  forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1})) A B) (x : GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f), Eq.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (HSMul.hSMul.{u1, u1, u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (instHSMul.{u1, u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.instSMulCoeGroupCatTypeInstCoeSortGroupCatTypeXWithInfinity.{u1} A B f)) (OfNat.ofNat.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) 1 (One.toOfNat1.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (InvOneClass.toOne.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (DivInvOneMonoid.toInvOneClass.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (DivisionMonoid.toDivInvOneMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Group.toDivisionMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (GroupCat.instGroupCoeGroupCatTypeInstCoeSortGroupCatType.{u1} B))))))) x) x
+Case conversion may be inaccurate. Consider using '#align Group.surjective_of_epi_auxs.one_smul GroupCat.SurjectiveOfEpiAuxs.one_smulₓ'. -/
 theorem one_smul (x : X') : (1 : B) • x = x :=
   match x with
   | from_coset y => by
@@ -143,20 +187,32 @@ theorem one_smul (x : X') : (1 : B) • x = x :=
   | ∞ => rfl
 #align Group.surjective_of_epi_auxs.one_smul GroupCat.SurjectiveOfEpiAuxs.one_smul
 
-theorem from_coset_eq_of_mem_range {b : B} (hb : b ∈ f.range) :
-    from_coset ⟨b *l f.range.carrier, ⟨b, rfl⟩⟩ =
-      from_coset ⟨f.range.carrier, ⟨1, one_leftCoset _⟩⟩ :=
+/- warning: Group.surjective_of_epi_auxs.from_coset_eq_of_mem_range -> GroupCat.SurjectiveOfEpiAuxs.fromCoset_eq_of_mem_range is a dubious translation:
+lean 3 declaration is
+  forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1})) A B) {b : coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B}, (Membership.Mem.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Subgroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)) (SetLike.hasMem.{u1, u1} (Subgroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Subgroup.setLike.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B))) b (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) -> (Eq.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.fromCoset.{u1} A B f (Subtype.mk.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Membership.Mem.{u1, u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.hasMem.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) x (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B))))) b (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))) (Exists.intro.{succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (fun (y : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) => Eq.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) y) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B))))) b (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)))) b (rfl.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) b))))) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.fromCoset.{u1} A B f (Subtype.mk.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Membership.Mem.{u1, u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.hasMem.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) x (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) (Exists.intro.{succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (fun (y : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) => Eq.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) y) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))) (OfNat.ofNat.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) 1 (OfNat.mk.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) 1 (One.one.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasOne.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))))) (one_leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)))))))
+but is expected to have type
+  forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1})) A B) {b : CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B}, (Membership.mem.{u1, u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Subgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)) (SetLike.instMembership.{u1, u1} (Subgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Subgroup.instSetLikeSubgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))) b (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f)) -> (Eq.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.fromCoset.{u1} A B f (Subtype.mk.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) x (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f))))))) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) b (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f))))) (Exists.intro.{succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (y : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f)))) y) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) b (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f)))))) b (rfl.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f)))) b))))) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.fromCoset.{u1} A B f (Subtype.mk.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) x (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f))))))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f)))) (Exists.intro.{succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (y : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f)))) y) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f))))) (OfNat.ofNat.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) 1 (One.toOfNat1.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (InvOneClass.toOne.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvOneMonoid.toInvOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivisionMonoid.toDivInvOneMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivisionMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))))) (one_leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f)))))))))
+Case conversion may be inaccurate. Consider using '#align Group.surjective_of_epi_auxs.from_coset_eq_of_mem_range GroupCat.SurjectiveOfEpiAuxs.fromCoset_eq_of_mem_rangeₓ'. -/
+theorem fromCoset_eq_of_mem_range {b : B} (hb : b ∈ f.range) :
+    fromCoset ⟨b *l f.range.carrier, ⟨b, rfl⟩⟩ =
+      fromCoset ⟨f.range.carrier, ⟨1, one_leftCoset _⟩⟩ :=
   by
   congr
   change b *l f.range = f.range
   nth_rw 2 [show (f.range : Set B) = 1 *l f.range from (one_leftCoset _).symm]
   rw [leftCoset_eq_iff, mul_one]
   exact Subgroup.inv_mem _ hb
-#align Group.surjective_of_epi_auxs.from_coset_eq_of_mem_range GroupCat.SurjectiveOfEpiAuxs.from_coset_eq_of_mem_range
-
-theorem from_coset_ne_of_nin_range {b : B} (hb : b ∉ f.range) :
-    from_coset ⟨b *l f.range.carrier, ⟨b, rfl⟩⟩ ≠
-      from_coset ⟨f.range.carrier, ⟨1, one_leftCoset _⟩⟩ :=
+#align Group.surjective_of_epi_auxs.from_coset_eq_of_mem_range GroupCat.SurjectiveOfEpiAuxs.fromCoset_eq_of_mem_range
+
+/- warning: Group.surjective_of_epi_auxs.from_coset_ne_of_nin_range -> GroupCat.SurjectiveOfEpiAuxs.fromCoset_ne_of_nin_range is a dubious translation:
+lean 3 declaration is
+  forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1})) A B) {b : coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B}, (Not (Membership.Mem.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Subgroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)) (SetLike.hasMem.{u1, u1} (Subgroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Subgroup.setLike.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B))) b (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))) -> (Ne.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.fromCoset.{u1} A B f (Subtype.mk.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Membership.Mem.{u1, u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.hasMem.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) x (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B))))) b (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))) (Exists.intro.{succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (fun (y : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) => Eq.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) y) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B))))) b (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)))) b (rfl.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) b))))) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.fromCoset.{u1} A B f (Subtype.mk.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Membership.Mem.{u1, u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.hasMem.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) x (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) (Exists.intro.{succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (fun (y : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) => Eq.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) y) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))) (OfNat.ofNat.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) 1 (OfNat.mk.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) 1 (One.one.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasOne.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))))) (one_leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)))))))
+but is expected to have type
+  forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1})) A B) {b : CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B}, (Not (Membership.mem.{u1, u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Subgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)) (SetLike.instMembership.{u1, u1} (Subgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Subgroup.instSetLikeSubgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))) b (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f))) -> (Ne.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.fromCoset.{u1} A B f (Subtype.mk.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) x (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f))))))) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) b (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f))))) (Exists.intro.{succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (y : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f)))) y) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) b (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f)))))) b (rfl.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f)))) b))))) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.fromCoset.{u1} A B f (Subtype.mk.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) x (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f))))))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f)))) (Exists.intro.{succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (y : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f)))) y) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f))))) (OfNat.ofNat.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) 1 (One.toOfNat1.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (InvOneClass.toOne.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvOneMonoid.toInvOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivisionMonoid.toDivInvOneMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivisionMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))))) (one_leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f)))))))))
+Case conversion may be inaccurate. Consider using '#align Group.surjective_of_epi_auxs.from_coset_ne_of_nin_range GroupCat.SurjectiveOfEpiAuxs.fromCoset_ne_of_nin_rangeₓ'. -/
+theorem fromCoset_ne_of_nin_range {b : B} (hb : b ∉ f.range) :
+    fromCoset ⟨b *l f.range.carrier, ⟨b, rfl⟩⟩ ≠
+      fromCoset ⟨f.range.carrier, ⟨1, one_leftCoset _⟩⟩ :=
   by
   intro r
   simp only [Subtype.mk_eq_mk] at r
@@ -164,43 +220,58 @@ theorem from_coset_ne_of_nin_range {b : B} (hb : b ∉ f.range) :
   nth_rw 2 [show (f.range : Set B) = 1 *l f.range from (one_leftCoset _).symm] at r
   rw [leftCoset_eq_iff, mul_one] at r
   exact hb (inv_inv b ▸ Subgroup.inv_mem _ r)
-#align Group.surjective_of_epi_auxs.from_coset_ne_of_nin_range GroupCat.SurjectiveOfEpiAuxs.from_coset_ne_of_nin_range
+#align Group.surjective_of_epi_auxs.from_coset_ne_of_nin_range GroupCat.SurjectiveOfEpiAuxs.fromCoset_ne_of_nin_range
 
 instance : DecidableEq X' :=
   Classical.decEq _
 
+#print GroupCat.SurjectiveOfEpiAuxs.tau /-
 /-- Let `τ` be the permutation on `X'` exchanging `f.range` and the point at infinity.
 -/
 noncomputable def tau : SX' :=
-  Equiv.swap (from_coset ⟨f.range.carrier, ⟨1, one_leftCoset _⟩⟩) ∞
+  Equiv.swap (fromCoset ⟨f.range.carrier, ⟨1, one_leftCoset _⟩⟩) ∞
 #align Group.surjective_of_epi_auxs.tau GroupCat.SurjectiveOfEpiAuxs.tau
+-/
 
 -- mathport name: exprτ
 local notation "τ" => tau f
 
-theorem τ_apply_infinity : τ ∞ = from_coset ⟨f.range.carrier, ⟨1, one_leftCoset _⟩⟩ :=
+#print GroupCat.SurjectiveOfEpiAuxs.τ_apply_infinity /-
+theorem τ_apply_infinity : τ ∞ = fromCoset ⟨f.range.carrier, ⟨1, one_leftCoset _⟩⟩ :=
   Equiv.swap_apply_right _ _
 #align Group.surjective_of_epi_auxs.τ_apply_infinity GroupCat.SurjectiveOfEpiAuxs.τ_apply_infinity
+-/
 
-theorem τ_apply_from_coset : τ (from_coset ⟨f.range.carrier, ⟨1, one_leftCoset _⟩⟩) = ∞ :=
+/- warning: Group.surjective_of_epi_auxs.τ_apply_from_coset clashes with Group.surjective_of_epi_auxs.τ_apply_fromCoset -> GroupCat.SurjectiveOfEpiAuxs.τ_apply_fromCoset
+Case conversion may be inaccurate. Consider using '#align Group.surjective_of_epi_auxs.τ_apply_from_coset GroupCat.SurjectiveOfEpiAuxs.τ_apply_fromCosetₓ'. -/
+#print GroupCat.SurjectiveOfEpiAuxs.τ_apply_fromCoset /-
+theorem τ_apply_fromCoset : τ (fromCoset ⟨f.range.carrier, ⟨1, one_leftCoset _⟩⟩) = ∞ :=
   Equiv.swap_apply_left _ _
-#align Group.surjective_of_epi_auxs.τ_apply_from_coset GroupCat.SurjectiveOfEpiAuxs.τ_apply_from_coset
+#align Group.surjective_of_epi_auxs.τ_apply_from_coset GroupCat.SurjectiveOfEpiAuxs.τ_apply_fromCoset
+-/
 
 theorem τ_apply_from_coset' (x : B) (hx : x ∈ f.range) :
-    τ (from_coset ⟨x *l f.range.carrier, ⟨x, rfl⟩⟩) = ∞ :=
-  (from_coset_eq_of_mem_range _ hx).symm ▸ τ_apply_from_coset _
+    τ (fromCoset ⟨x *l f.range.carrier, ⟨x, rfl⟩⟩) = ∞ :=
+  (fromCoset_eq_of_mem_range _ hx).symm ▸ τ_apply_fromCoset _
 #align Group.surjective_of_epi_auxs.τ_apply_from_coset' GroupCat.SurjectiveOfEpiAuxs.τ_apply_from_coset'
 
-theorem τ_symm_apply_from_coset :
-    (Equiv.symm τ) (from_coset ⟨f.range.carrier, ⟨1, one_leftCoset _⟩⟩) = ∞ := by
+/- warning: Group.surjective_of_epi_auxs.τ_symm_apply_from_coset clashes with Group.surjective_of_epi_auxs.τ_symm_apply_fromCoset -> GroupCat.SurjectiveOfEpiAuxs.τ_symm_apply_fromCoset
+Case conversion may be inaccurate. Consider using '#align Group.surjective_of_epi_auxs.τ_symm_apply_from_coset GroupCat.SurjectiveOfEpiAuxs.τ_symm_apply_fromCosetₓ'. -/
+#print GroupCat.SurjectiveOfEpiAuxs.τ_symm_apply_fromCoset /-
+theorem τ_symm_apply_fromCoset :
+    (Equiv.symm τ) (fromCoset ⟨f.range.carrier, ⟨1, one_leftCoset _⟩⟩) = ∞ := by
   rw [tau, Equiv.symm_swap, Equiv.swap_apply_left]
-#align Group.surjective_of_epi_auxs.τ_symm_apply_from_coset GroupCat.SurjectiveOfEpiAuxs.τ_symm_apply_from_coset
+#align Group.surjective_of_epi_auxs.τ_symm_apply_from_coset GroupCat.SurjectiveOfEpiAuxs.τ_symm_apply_fromCoset
+-/
 
+#print GroupCat.SurjectiveOfEpiAuxs.τ_symm_apply_infinity /-
 theorem τ_symm_apply_infinity :
-    (Equiv.symm τ) ∞ = from_coset ⟨f.range.carrier, ⟨1, one_leftCoset _⟩⟩ := by
+    (Equiv.symm τ) ∞ = fromCoset ⟨f.range.carrier, ⟨1, one_leftCoset _⟩⟩ := by
   rw [tau, Equiv.symm_swap, Equiv.swap_apply_right]
 #align Group.surjective_of_epi_auxs.τ_symm_apply_infinity GroupCat.SurjectiveOfEpiAuxs.τ_symm_apply_infinity
+-/
 
+#print GroupCat.SurjectiveOfEpiAuxs.g /-
 /-- Let `g : B ⟶ S(X')` be defined as such that, for any `β : B`, `g(β)` is the function sending
 point at infinity to point at infinity and sending coset `y` to `β *l y`.
 -/
@@ -222,10 +293,12 @@ def g : B →* SX'
     ext
     simp [mul_smul]
 #align Group.surjective_of_epi_auxs.G GroupCat.SurjectiveOfEpiAuxs.g
+-/
 
 -- mathport name: exprg
 local notation "g" => g f
 
+#print GroupCat.SurjectiveOfEpiAuxs.h /-
 /-- Define `h : B ⟶ S(X')` to be `τ g τ⁻¹`
 -/
 def h : B →* SX' where
@@ -237,6 +310,7 @@ def h : B →* SX' where
     ext
     simp
 #align Group.surjective_of_epi_auxs.H GroupCat.SurjectiveOfEpiAuxs.h
+-/
 
 -- mathport name: exprh
 local notation "h" => h f
@@ -249,14 +323,29 @@ The strategy is the following: assuming `epi f`
 -/
 
 
-theorem g_apply_from_coset (x : B) (y : X) : (g x) (from_coset y) = from_coset ⟨x *l y, by tidy⟩ :=
+/- warning: Group.surjective_of_epi_auxs.g_apply_from_coset clashes with Group.surjective_of_epi_auxs.g_apply_fromCoset -> GroupCat.SurjectiveOfEpiAuxs.g_apply_fromCoset
+warning: Group.surjective_of_epi_auxs.g_apply_from_coset -> GroupCat.SurjectiveOfEpiAuxs.g_apply_fromCoset is a dubious translation:
+lean 3 declaration is
+  forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1})) A B) (x : coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (y : coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) Type.{u1} (Set.hasCoeToSort.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))), Eq.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (coeFn.{succ u1, succ u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (fun (_x : Equiv.{succ u1, succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) => (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) -> (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.hasCoeToFun.{succ u1, succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (coeFn.{succ u1, succ u1} (MonoidHom.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (GroupCat.group.{u1} B)))) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (fun (_x : MonoidHom.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (GroupCat.group.{u1} B)))) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) => (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) -> (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f))) (MonoidHom.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (GroupCat.group.{u1} B)))) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (GroupCat.SurjectiveOfEpiAuxs.g.{u1} A B f) x) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.fromCoset.{u1} A B f y)) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.fromCoset.{u1} A B f (Subtype.mk.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Membership.Mem.{u1, u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.hasMem.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) x (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B))))) x ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) Type.{u1} (Set.hasCoeToSort.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) Type.{u1} (Set.hasCoeToSort.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (CoeTCₓ.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) Type.{u1} (Set.hasCoeToSort.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) Type.{u1} (Set.hasCoeToSort.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSubtype.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Membership.Mem.{u1, u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.hasMem.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) x (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))))))) y)) (Subtype.casesOn.{0, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Membership.Mem.{u1, u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.hasMem.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) x (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) (fun (y : coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) Type.{u1} (Set.hasCoeToSort.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) => Membership.Mem.{u1, u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.hasMem.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B))))) x ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) Type.{u1} (Set.hasCoeToSort.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) Type.{u1} (Set.hasCoeToSort.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (CoeTCₓ.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) Type.{u1} (Set.hasCoeToSort.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) Type.{u1} (Set.hasCoeToSort.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSubtype.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Membership.Mem.{u1, u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.hasMem.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) x (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))))))) y)) (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) y (fun (y_val : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (y_property : Membership.Mem.{u1, u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.hasMem.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) y_val (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) => Exists.dcases_on.{succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (fun (y : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) => Eq.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) y) y_val) (fun (y_property : Membership.Mem.{u1, u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.hasMem.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) y_val (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) => Membership.Mem.{u1, u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.hasMem.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B))))) x ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) Type.{u1} (Set.hasCoeToSort.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) Type.{u1} (Set.hasCoeToSort.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (CoeTCₓ.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) Type.{u1} (Set.hasCoeToSort.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) Type.{u1} (Set.hasCoeToSort.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSubtype.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Membership.Mem.{u1, u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.hasMem.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) x (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))))))) (Subtype.mk.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Membership.Mem.{u1, u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.hasMem.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) x (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) y_val y_property))) (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) y_property (fun (y_property_w : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y_property_h : Eq.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) y_property_w) y_val) => Eq.drec.{0, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) y_property_w) (fun (y_val : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (y_property_h : Eq.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) y_property_w) y_val) => Membership.Mem.{u1, u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.hasMem.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B))))) x ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) Type.{u1} (Set.hasCoeToSort.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) Type.{u1} (Set.hasCoeToSort.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (CoeTCₓ.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) Type.{u1} (Set.hasCoeToSort.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) Type.{u1} (Set.hasCoeToSort.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSubtype.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Membership.Mem.{u1, u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.hasMem.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) x (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))))))) (Subtype.mk.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Membership.Mem.{u1, u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.hasMem.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) x (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) y_val (Exists.intro.{succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (fun (y : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) => Eq.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) y) y_val) y_property_w y_property_h)))) (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) (id.{0} (forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1})) A B) (x : coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (y_property_w : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B), (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) -> (Membership.Mem.{u1, u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.hasMem.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B))))) x ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) Type.{u1} (Set.hasCoeToSort.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) Type.{u1} (Set.hasCoeToSort.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (CoeTCₓ.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) Type.{u1} (Set.hasCoeToSort.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) Type.{u1} (Set.hasCoeToSort.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSubtype.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Membership.Mem.{u1, u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.hasMem.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) x (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))))))) (Subtype.mk.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Membership.Mem.{u1, u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.hasMem.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) x (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) y_property_w) (Exists.intro.{succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (fun (y : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) => Eq.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) y) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) y_property_w)) y_property_w (rfl.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) y_property_w)))))) (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)))))) (fun {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1})) A B) (x : coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (y_property_w : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y_val : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Eq.mpr.{0} (Exists.{succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (fun (y : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) => Eq.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) y) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B))))) x (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) y_property_w)))) True (id_tag Tactic.IdTag.simp (Eq.{1} Prop (Exists.{succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (fun (y : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) => Eq.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) y) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B))))) x (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) y_property_w)))) True) (Eq.trans.{1} Prop (Exists.{succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (fun (y : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) => Eq.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) y) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B))))) x (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) y_property_w)))) (Exists.{succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (fun (y : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) => Eq.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) y) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B))))) (HMul.hMul.{u1, u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (instHMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) x y_property_w) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) True ((fun (p : (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) -> Prop) (p_1 : (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) -> Prop) (e_1 : Eq.{succ u1} ((coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) -> Prop) p p_1) => congr_arg.{succ u1, 1} ((coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) -> Prop) Prop p p_1 (Exists.{succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) e_1) (fun (y : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) => Eq.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) y) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B))))) x (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) y_property_w))) (fun (y : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) => Eq.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) y) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B))))) (HMul.hMul.{u1, u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (instHMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) x y_property_w) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)))) (funext.{succ u1, 1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) => Prop) (fun (x_1 : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) => Eq.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) x_1) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B))))) x (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) y_property_w))) (fun (x_1 : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) => Eq.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) x_1) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B))))) (HMul.hMul.{u1, u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (instHMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) x y_property_w) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)))) (fun (y : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) => (fun (a : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (a_1 : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (e_1 : Eq.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) a a_1) (ᾰ : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (ᾰ_1 : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (e_2 : Eq.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) ᾰ ᾰ_1) => congr.{succ u1, 1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) Prop (Eq.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) a) (Eq.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) a_1) ᾰ ᾰ_1 (congr_arg.{succ u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) ((Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) -> Prop) a a_1 (Eq.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) e_1) e_2) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) y) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) y) (rfl.{succ u1} ((fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) y (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) y)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B))))) x (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) y_property_w)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B))))) (HMul.hMul.{u1, u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (instHMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) x y_property_w) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))) (leftCoset_assoc.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toSemigroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) x y_property_w)))) (propext (Exists.{succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (fun (a : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) => Eq.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) ((fun (a : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) => Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) a) a) ((fun (a : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) => Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) a) (HMul.hMul.{u1, u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (instHMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) x y_property_w)))) True ((fun {α : Type.{u1}} {β : Type.{u1}} (f : α -> β) (a' : α) => iff_true_intro (Exists.{succ u1} α (fun (a : α) => Eq.{succ u1} β (f a) (f a'))) (exists_apply_eq_apply.{succ u1, succ u1} α β f a')) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (a : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) => Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) a) (HMul.hMul.{u1, u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (instHMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) x y_property_w))))) trivial) A B f x y_property_w y_val) y_val y_property_h)))))
+but is expected to have type
+  forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1})) A B) (x : CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (y : Set.Elem.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f))))))), Eq.{succ u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) => GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.fromCoset.{u1} A B f y)) (FunLike.coe.{succ u1, succ u1, succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) => Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) x) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (fun (_x : GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) => GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) _x) (Equiv.instFunLikeEquiv.{succ u1, succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (FunLike.coe.{succ u1, succ u1, succ u1} (MonoidHom.{u1, u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (DivInvMonoid.toMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Group.toDivInvMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (GroupCat.instGroupCoeGroupCatTypeInstCoeSortGroupCatType.{u1} B)))) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (fun (_x : CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) => Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) _x) (MulHomClass.toFunLike.{u1, u1, u1} (MonoidHom.{u1, u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (DivInvMonoid.toMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Group.toDivInvMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (GroupCat.instGroupCoeGroupCatTypeInstCoeSortGroupCatType.{u1} B)))) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (MulOneClass.toMul.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Monoid.toMulOneClass.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (DivInvMonoid.toMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Group.toDivInvMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (GroupCat.instGroupCoeGroupCatTypeInstCoeSortGroupCatType.{u1} B))))) (MulOneClass.toMul.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (MonoidHomClass.toMulHomClass.{u1, u1, u1} (MonoidHom.{u1, u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (DivInvMonoid.toMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Group.toDivInvMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (GroupCat.instGroupCoeGroupCatTypeInstCoeSortGroupCatType.{u1} B)))) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (DivInvMonoid.toMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Group.toDivInvMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (GroupCat.instGroupCoeGroupCatTypeInstCoeSortGroupCatType.{u1} B)))) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f))))) (MonoidHom.monoidHomClass.{u1, u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (DivInvMonoid.toMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Group.toDivInvMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (GroupCat.instGroupCoeGroupCatTypeInstCoeSortGroupCatType.{u1} B)))) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))))) (GroupCat.SurjectiveOfEpiAuxs.g.{u1} A B f) x) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.fromCoset.{u1} A B f y)) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.fromCoset.{u1} A B f (Subtype.mk.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) x (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f))))))) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) x (Subtype.val.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) x (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f))))))) y)) (Eq.mpr.{0} (Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) x (Subtype.val.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) x (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f))))))) y)) (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f))))))) (Exists.{succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (y_1 : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f)))) y_1) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) x (Subtype.val.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) x (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f))))))) y)))) (id.{0} (Eq.{1} Prop (Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) x (Subtype.val.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) x (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f))))))) y)) (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f))))))) (Exists.{succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (y_1 : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f)))) y_1) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) x (Subtype.val.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) x (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f))))))) y))))) (Mathlib.Data.Set.Image._auxLemma.18.{succ u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f))))) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) x (Subtype.val.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) x (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f))))))) y)))) (Subtype.casesOn.{0, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) x (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f))))))) (fun (h : Set.Elem.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f))))))) => Exists.{succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (y : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f)))) y) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) x (Subtype.val.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) x (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f))))))) h)))) y (fun (val : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (property : Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) val (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f))))))) => Exists.casesOn.{succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (y : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f)))) y) val) (fun (h : Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) val (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f))))))) => Exists.{succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (y : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f)))) y) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) x (Subtype.val.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) x (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f))))))) (Subtype.mk.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) x (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f))))))) val h))))) property (fun (w : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (h : Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f)))) w) val) => Eq.rec.{0, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f)))) w) (fun (val : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (h : Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f)))) w) val) => Exists.{succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (y : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f)))) y) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) x (Subtype.val.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) x (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f))))))) (Subtype.mk.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) x (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f))))))) val (Exists.intro.{succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (y : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f)))) y) val) w h)))))) (of_eq_true (Exists.{succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (x_1 : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f)))) x_1) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Semigroup.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toSemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) x (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Semigroup.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toSemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) w (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f)))))))) (Eq.trans.{1} Prop (Exists.{succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (x_1 : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f)))) x_1) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Semigroup.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toSemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) x (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Semigroup.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toSemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) w (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f)))))))) (Exists.{succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (x_1 : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f)))) x_1) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Semigroup.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toSemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (HMul.hMul.{u1, u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (instHMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Semigroup.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toSemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))))) x w) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f))))))) True (congrArg.{succ u1, 1} ((CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) -> Prop) Prop (fun (x_1 : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f)))) x_1) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Semigroup.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toSemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) x (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Semigroup.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toSemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) w (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f))))))) (fun (x_1 : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f)))) x_1) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Semigroup.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toSemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (HMul.hMul.{u1, u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (instHMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Semigroup.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toSemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))))) x w) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f)))))) (Exists.{succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (funext.{succ u1, 1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Prop) (fun (x_1 : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f)))) x_1) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Semigroup.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toSemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) x (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Semigroup.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toSemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) w (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f))))))) (fun (x_1 : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f)))) x_1) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Semigroup.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toSemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (HMul.hMul.{u1, u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (instHMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Semigroup.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toSemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))))) x w) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f)))))) (fun (y : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => congrArg.{succ u1, 1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) Prop (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Semigroup.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toSemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) x (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Semigroup.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toSemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) w (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f)))))) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Semigroup.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toSemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (HMul.hMul.{u1, u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (instHMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Semigroup.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toSemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))))) x w) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f))))) (Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f)))) y)) (leftCoset_assoc.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toSemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f)))) x w)))) (Std.Logic._auxLemma.52.{succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (a : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f)))) a) (HMul.hMul.{u1, u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (instHMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Semigroup.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toSemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))))) x w)))) val h))))))
+Case conversion may be inaccurate. Consider using '#align Group.surjective_of_epi_auxs.g_apply_from_coset GroupCat.SurjectiveOfEpiAuxs.g_apply_fromCosetₓ'. -/
+theorem g_apply_fromCoset (x : B) (y : X) : (g x) (fromCoset y) = fromCoset ⟨x *l y, by tidy⟩ :=
   rfl
-#align Group.surjective_of_epi_auxs.g_apply_from_coset GroupCat.SurjectiveOfEpiAuxs.g_apply_from_coset
+#align Group.surjective_of_epi_auxs.g_apply_from_coset GroupCat.SurjectiveOfEpiAuxs.g_apply_fromCoset
 
+#print GroupCat.SurjectiveOfEpiAuxs.g_apply_infinity /-
 theorem g_apply_infinity (x : B) : (g x) ∞ = ∞ :=
   rfl
 #align Group.surjective_of_epi_auxs.g_apply_infinity GroupCat.SurjectiveOfEpiAuxs.g_apply_infinity
+-/
 
+/- warning: Group.surjective_of_epi_auxs.h_apply_infinity -> GroupCat.SurjectiveOfEpiAuxs.h_apply_infinity is a dubious translation:
+lean 3 declaration is
+  forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1})) A B) (x : coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B), (Membership.Mem.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Subgroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)) (SetLike.hasMem.{u1, u1} (Subgroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Subgroup.setLike.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B))) x (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) -> (Eq.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (coeFn.{succ u1, succ u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (fun (_x : Equiv.{succ u1, succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) => (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) -> (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.hasCoeToFun.{succ u1, succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (coeFn.{succ u1, succ u1} (MonoidHom.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (GroupCat.group.{u1} B)))) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (fun (_x : MonoidHom.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (GroupCat.group.{u1} B)))) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) => (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) -> (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f))) (MonoidHom.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (GroupCat.group.{u1} B)))) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (GroupCat.SurjectiveOfEpiAuxs.h.{u1} A B f) x) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.infinity.{u1} A B f)) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.infinity.{u1} A B f))
+but is expected to have type
+  forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1})) A B) (x : CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B), (Membership.mem.{u1, u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Subgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)) (SetLike.instMembership.{u1, u1} (Subgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Subgroup.instSetLikeSubgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))) x (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f)) -> (Eq.{succ u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) => GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.infinity.{u1} A B f)) (FunLike.coe.{succ u1, succ u1, succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) => Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) x) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (fun (_x : GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) => GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) _x) (Equiv.instFunLikeEquiv.{succ u1, succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (FunLike.coe.{succ u1, succ u1, succ u1} (MonoidHom.{u1, u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (DivInvMonoid.toMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Group.toDivInvMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (GroupCat.instGroupCoeGroupCatTypeInstCoeSortGroupCatType.{u1} B)))) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (fun (_x : CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) => Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) _x) (MulHomClass.toFunLike.{u1, u1, u1} (MonoidHom.{u1, u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (DivInvMonoid.toMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Group.toDivInvMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (GroupCat.instGroupCoeGroupCatTypeInstCoeSortGroupCatType.{u1} B)))) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (MulOneClass.toMul.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Monoid.toMulOneClass.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (DivInvMonoid.toMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Group.toDivInvMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (GroupCat.instGroupCoeGroupCatTypeInstCoeSortGroupCatType.{u1} B))))) (MulOneClass.toMul.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (MonoidHomClass.toMulHomClass.{u1, u1, u1} (MonoidHom.{u1, u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (DivInvMonoid.toMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Group.toDivInvMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (GroupCat.instGroupCoeGroupCatTypeInstCoeSortGroupCatType.{u1} B)))) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (DivInvMonoid.toMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Group.toDivInvMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (GroupCat.instGroupCoeGroupCatTypeInstCoeSortGroupCatType.{u1} B)))) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f))))) (MonoidHom.monoidHomClass.{u1, u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (DivInvMonoid.toMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Group.toDivInvMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (GroupCat.instGroupCoeGroupCatTypeInstCoeSortGroupCatType.{u1} B)))) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))))) (GroupCat.SurjectiveOfEpiAuxs.h.{u1} A B f) x) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.infinity.{u1} A B f)) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.infinity.{u1} A B f))
+Case conversion may be inaccurate. Consider using '#align Group.surjective_of_epi_auxs.h_apply_infinity GroupCat.SurjectiveOfEpiAuxs.h_apply_infinityₓ'. -/
 theorem h_apply_infinity (x : B) (hx : x ∈ f.range) : (h x) ∞ = ∞ :=
   by
   simp only [H, MonoidHom.coe_mk, Equiv.toFun_as_coe, Equiv.coe_trans, Function.comp_apply]
@@ -264,21 +353,32 @@ theorem h_apply_infinity (x : B) (hx : x ∈ f.range) : (h x) ∞ = ∞ :=
   simpa only [← Subtype.val_eq_coe] using τ_apply_from_coset' f x hx
 #align Group.surjective_of_epi_auxs.h_apply_infinity GroupCat.SurjectiveOfEpiAuxs.h_apply_infinity
 
-theorem h_apply_from_coset (x : B) :
-    (h x) (from_coset ⟨f.range.carrier, ⟨1, one_leftCoset _⟩⟩) =
-      from_coset ⟨f.range.carrier, ⟨1, one_leftCoset _⟩⟩ :=
+/- warning: Group.surjective_of_epi_auxs.h_apply_from_coset clashes with Group.surjective_of_epi_auxs.h_apply_fromCoset -> GroupCat.SurjectiveOfEpiAuxs.h_apply_fromCoset
+Case conversion may be inaccurate. Consider using '#align Group.surjective_of_epi_auxs.h_apply_from_coset GroupCat.SurjectiveOfEpiAuxs.h_apply_fromCosetₓ'. -/
+#print GroupCat.SurjectiveOfEpiAuxs.h_apply_fromCoset /-
+theorem h_apply_fromCoset (x : B) :
+    (h x) (fromCoset ⟨f.range.carrier, ⟨1, one_leftCoset _⟩⟩) =
+      fromCoset ⟨f.range.carrier, ⟨1, one_leftCoset _⟩⟩ :=
   by simp [H, τ_symm_apply_from_coset, g_apply_infinity, τ_apply_infinity]
-#align Group.surjective_of_epi_auxs.h_apply_from_coset GroupCat.SurjectiveOfEpiAuxs.h_apply_from_coset
+#align Group.surjective_of_epi_auxs.h_apply_from_coset GroupCat.SurjectiveOfEpiAuxs.h_apply_fromCoset
+-/
 
 theorem h_apply_from_coset' (x : B) (b : B) (hb : b ∈ f.range) :
-    (h x) (from_coset ⟨b *l f.range.carrier, ⟨b, rfl⟩⟩) =
-      from_coset ⟨b *l f.range.carrier, ⟨b, rfl⟩⟩ :=
-  (from_coset_eq_of_mem_range _ hb).symm ▸ h_apply_from_coset f x
+    (h x) (fromCoset ⟨b *l f.range.carrier, ⟨b, rfl⟩⟩) =
+      fromCoset ⟨b *l f.range.carrier, ⟨b, rfl⟩⟩ :=
+  (fromCoset_eq_of_mem_range _ hb).symm ▸ h_apply_fromCoset f x
 #align Group.surjective_of_epi_auxs.h_apply_from_coset' GroupCat.SurjectiveOfEpiAuxs.h_apply_from_coset'
 
-theorem h_apply_from_coset_nin_range (x : B) (hx : x ∈ f.range) (b : B) (hb : b ∉ f.range) :
-    (h x) (from_coset ⟨b *l f.range.carrier, ⟨b, rfl⟩⟩) =
-      from_coset ⟨x * b *l f.range.carrier, ⟨x * b, rfl⟩⟩ :=
+/- warning: Group.surjective_of_epi_auxs.h_apply_from_coset_nin_range clashes with Group.surjective_of_epi_auxs.h_apply_fromCoset_nin_range -> GroupCat.SurjectiveOfEpiAuxs.h_apply_fromCoset_nin_range
+warning: Group.surjective_of_epi_auxs.h_apply_from_coset_nin_range -> GroupCat.SurjectiveOfEpiAuxs.h_apply_fromCoset_nin_range is a dubious translation:
+lean 3 declaration is
+  forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1})) A B) (x : coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B), (Membership.Mem.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Subgroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)) (SetLike.hasMem.{u1, u1} (Subgroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Subgroup.setLike.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B))) x (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) -> (forall (b : coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B), (Not (Membership.Mem.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Subgroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)) (SetLike.hasMem.{u1, u1} (Subgroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Subgroup.setLike.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B))) b (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))) -> (Eq.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (coeFn.{succ u1, succ u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (fun (_x : Equiv.{succ u1, succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) => (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) -> (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.hasCoeToFun.{succ u1, succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (coeFn.{succ u1, succ u1} (MonoidHom.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (GroupCat.group.{u1} B)))) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (fun (_x : MonoidHom.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (GroupCat.group.{u1} B)))) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) => (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) -> (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f))) (MonoidHom.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (GroupCat.group.{u1} B)))) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (GroupCat.SurjectiveOfEpiAuxs.h.{u1} A B f) x) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.fromCoset.{u1} A B f (Subtype.mk.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Membership.Mem.{u1, u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.hasMem.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) x (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B))))) b (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))) (Exists.intro.{succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (fun (y : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) => Eq.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) y) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B))))) b (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)))) b (rfl.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) b)))))) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.fromCoset.{u1} A B f (Subtype.mk.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Membership.Mem.{u1, u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Set.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) (Set.hasMem.{u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B))) x (Set.range.{u1, succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))))) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B))))) (HMul.hMul.{u1, u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (instHMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) x b) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))) (Exists.intro.{succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (fun (y : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) => Eq.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) y) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B))))) (HMul.hMul.{u1, u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (instHMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) x b) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)))) (HMul.hMul.{u1, u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (instHMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) x b) (rfl.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Function.swap.{succ u1, succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (y : Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) => Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (leftCoset.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) (HMul.hMul.{u1, u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (instHMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (MulOneClass.toHasMul.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)))))) x b))))))))
+but is expected to have type
+  forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1})) A B) (x : CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B), (Membership.mem.{u1, u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Subgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)) (SetLike.instMembership.{u1, u1} (Subgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Subgroup.instSetLikeSubgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))) x (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f)) -> (forall (b : CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B), (Not (Membership.mem.{u1, u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Subgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)) (SetLike.instMembership.{u1, u1} (Subgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Subgroup.instSetLikeSubgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))) b (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f))) -> (Eq.{succ u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) => GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.fromCoset.{u1} A B f (Subtype.mk.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) x (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f))))))) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) b (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f))))) (Exists.intro.{succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (y : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f)))) y) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) b (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f)))))) b (rfl.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f)))) b)))))) (FunLike.coe.{succ u1, succ u1, succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) => Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) x) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (fun (_x : GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) => GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) _x) (Equiv.instFunLikeEquiv.{succ u1, succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (FunLike.coe.{succ u1, succ u1, succ u1} (MonoidHom.{u1, u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (DivInvMonoid.toMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Group.toDivInvMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (GroupCat.instGroupCoeGroupCatTypeInstCoeSortGroupCatType.{u1} B)))) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (fun (_x : CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) => Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) _x) (MulHomClass.toFunLike.{u1, u1, u1} (MonoidHom.{u1, u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (DivInvMonoid.toMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Group.toDivInvMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (GroupCat.instGroupCoeGroupCatTypeInstCoeSortGroupCatType.{u1} B)))) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (MulOneClass.toMul.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Monoid.toMulOneClass.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (DivInvMonoid.toMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Group.toDivInvMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (GroupCat.instGroupCoeGroupCatTypeInstCoeSortGroupCatType.{u1} B))))) (MulOneClass.toMul.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (MonoidHomClass.toMulHomClass.{u1, u1, u1} (MonoidHom.{u1, u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (DivInvMonoid.toMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Group.toDivInvMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (GroupCat.instGroupCoeGroupCatTypeInstCoeSortGroupCatType.{u1} B)))) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (DivInvMonoid.toMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Group.toDivInvMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (GroupCat.instGroupCoeGroupCatTypeInstCoeSortGroupCatType.{u1} B)))) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f))))) (MonoidHom.monoidHomClass.{u1, u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (DivInvMonoid.toMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Group.toDivInvMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (GroupCat.instGroupCoeGroupCatTypeInstCoeSortGroupCatType.{u1} B)))) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))))) (GroupCat.SurjectiveOfEpiAuxs.h.{u1} A B f) x) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.fromCoset.{u1} A B f (Subtype.mk.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) x (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f))))))) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) b (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f))))) (Exists.intro.{succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (y : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f)))) y) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) b (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f)))))) b (rfl.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f)))) b)))))) (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.fromCoset.{u1} A B f (Subtype.mk.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Membership.mem.{u1, u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Set.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) (Set.instMembershipSet.{u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B))) x (Set.range.{u1, succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f))))))) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) (HMul.hMul.{u1, u1, u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (instHMul.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (MulOneClass.toMul.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Monoid.toMulOneClass.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (DivInvMonoid.toMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Group.toDivInvMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (GroupCat.instGroupCoeGroupCatTypeInstCoeSortGroupCatType.{u1} B)))))) x b) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f))))) (Exists.intro.{succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (fun (y : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) => Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f)))) y) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B)) (HMul.hMul.{u1, u1, u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (instHMul.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (MulOneClass.toMul.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Monoid.toMulOneClass.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (DivInvMonoid.toMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Group.toDivInvMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (GroupCat.instGroupCoeGroupCatTypeInstCoeSortGroupCatType.{u1} B)))))) x b) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f)))))) (HMul.hMul.{u1, u1, u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (instHMul.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (MulOneClass.toMul.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Monoid.toMulOneClass.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (DivInvMonoid.toMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Group.toDivInvMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (GroupCat.instGroupCoeGroupCatTypeInstCoeSortGroupCatType.{u1} B)))))) x b) (rfl.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Function.swap.{succ u1, succ u1, succ u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (fun (x : CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (y : Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) => Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (leftCoset.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup.0.GroupCat.instMulOneClassαGroup.{u1} B))) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f)))) (HMul.hMul.{u1, u1, u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (instHMul.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (MulOneClass.toMul.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Monoid.toMulOneClass.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (DivInvMonoid.toMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Group.toDivInvMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (GroupCat.instGroupCoeGroupCatTypeInstCoeSortGroupCatType.{u1} B)))))) x b))))))))
+Case conversion may be inaccurate. Consider using '#align Group.surjective_of_epi_auxs.h_apply_from_coset_nin_range GroupCat.SurjectiveOfEpiAuxs.h_apply_fromCoset_nin_rangeₓ'. -/
+theorem h_apply_fromCoset_nin_range (x : B) (hx : x ∈ f.range) (b : B) (hb : b ∉ f.range) :
+    (h x) (fromCoset ⟨b *l f.range.carrier, ⟨b, rfl⟩⟩) =
+      fromCoset ⟨x * b *l f.range.carrier, ⟨x * b, rfl⟩⟩ :=
   by
   simp only [H, tau, MonoidHom.coe_mk, Equiv.toFun_as_coe, Equiv.coe_trans, Function.comp_apply]
   rw [Equiv.symm_swap,
@@ -288,8 +388,14 @@ theorem h_apply_from_coset_nin_range (x : B) (hx : x ∈ f.range) (b : B) (hb :
   refine' Equiv.swap_apply_of_ne_of_ne (from_coset_ne_of_nin_range _ fun r => hb _) (by simp)
   convert Subgroup.mul_mem _ (Subgroup.inv_mem _ hx) r
   rw [← mul_assoc, mul_left_inv, one_mul]
-#align Group.surjective_of_epi_auxs.h_apply_from_coset_nin_range GroupCat.SurjectiveOfEpiAuxs.h_apply_from_coset_nin_range
-
+#align Group.surjective_of_epi_auxs.h_apply_from_coset_nin_range GroupCat.SurjectiveOfEpiAuxs.h_apply_fromCoset_nin_range
+
+/- warning: Group.surjective_of_epi_auxs.agree -> GroupCat.SurjectiveOfEpiAuxs.agree is a dubious translation:
+lean 3 declaration is
+  forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1})) A B), Eq.{succ u1} (Set.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (Subgroup.carrier.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f)) (setOf.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (fun (x : coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) => Eq.{succ u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (coeFn.{succ u1, succ u1} (MonoidHom.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (GroupCat.group.{u1} B)))) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (fun (_x : MonoidHom.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (GroupCat.group.{u1} B)))) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) => (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) -> (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f))) (MonoidHom.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (GroupCat.group.{u1} B)))) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (GroupCat.SurjectiveOfEpiAuxs.h.{u1} A B f) x) (coeFn.{succ u1, succ u1} (MonoidHom.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (GroupCat.group.{u1} B)))) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (fun (_x : MonoidHom.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (GroupCat.group.{u1} B)))) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) => (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) -> (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f))) (MonoidHom.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (GroupCat.group.{u1} B)))) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (GroupCat.SurjectiveOfEpiAuxs.g.{u1} A B f) x)))
+but is expected to have type
+  forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1})) A B), Eq.{succ u1} (Set.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B)) (Subsemigroup.carrier.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (MulOneClass.toMul.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))) (Submonoid.toSubsemigroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (DivInvMonoid.toMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Group.toDivInvMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)))) (Subgroup.toSubmonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f)))) (setOf.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (fun (x : CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) => Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) => Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) x) (FunLike.coe.{succ u1, succ u1, succ u1} (MonoidHom.{u1, u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (DivInvMonoid.toMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Group.toDivInvMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (GroupCat.instGroupCoeGroupCatTypeInstCoeSortGroupCatType.{u1} B)))) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (fun (_x : CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) => Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) _x) (MulHomClass.toFunLike.{u1, u1, u1} (MonoidHom.{u1, u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (DivInvMonoid.toMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Group.toDivInvMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (GroupCat.instGroupCoeGroupCatTypeInstCoeSortGroupCatType.{u1} B)))) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (MulOneClass.toMul.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Monoid.toMulOneClass.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (DivInvMonoid.toMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Group.toDivInvMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (GroupCat.instGroupCoeGroupCatTypeInstCoeSortGroupCatType.{u1} B))))) (MulOneClass.toMul.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (MonoidHomClass.toMulHomClass.{u1, u1, u1} (MonoidHom.{u1, u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (DivInvMonoid.toMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Group.toDivInvMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (GroupCat.instGroupCoeGroupCatTypeInstCoeSortGroupCatType.{u1} B)))) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (DivInvMonoid.toMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Group.toDivInvMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (GroupCat.instGroupCoeGroupCatTypeInstCoeSortGroupCatType.{u1} B)))) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f))))) (MonoidHom.monoidHomClass.{u1, u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (DivInvMonoid.toMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Group.toDivInvMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (GroupCat.instGroupCoeGroupCatTypeInstCoeSortGroupCatType.{u1} B)))) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))))) (GroupCat.SurjectiveOfEpiAuxs.h.{u1} A B f) x) (FunLike.coe.{succ u1, succ u1, succ u1} (MonoidHom.{u1, u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (DivInvMonoid.toMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Group.toDivInvMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (GroupCat.instGroupCoeGroupCatTypeInstCoeSortGroupCatType.{u1} B)))) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (fun (_x : CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) => Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) _x) (MulHomClass.toFunLike.{u1, u1, u1} (MonoidHom.{u1, u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (DivInvMonoid.toMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Group.toDivInvMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (GroupCat.instGroupCoeGroupCatTypeInstCoeSortGroupCatType.{u1} B)))) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (MulOneClass.toMul.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Monoid.toMulOneClass.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (DivInvMonoid.toMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Group.toDivInvMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (GroupCat.instGroupCoeGroupCatTypeInstCoeSortGroupCatType.{u1} B))))) (MulOneClass.toMul.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (MonoidHomClass.toMulHomClass.{u1, u1, u1} (MonoidHom.{u1, u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (DivInvMonoid.toMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Group.toDivInvMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (GroupCat.instGroupCoeGroupCatTypeInstCoeSortGroupCatType.{u1} B)))) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (DivInvMonoid.toMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Group.toDivInvMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (GroupCat.instGroupCoeGroupCatTypeInstCoeSortGroupCatType.{u1} B)))) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f))))) (MonoidHom.monoidHomClass.{u1, u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (DivInvMonoid.toMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Group.toDivInvMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (GroupCat.instGroupCoeGroupCatTypeInstCoeSortGroupCatType.{u1} B)))) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))))) (GroupCat.SurjectiveOfEpiAuxs.g.{u1} A B f) x)))
+Case conversion may be inaccurate. Consider using '#align Group.surjective_of_epi_auxs.agree GroupCat.SurjectiveOfEpiAuxs.agreeₓ'. -/
 theorem agree : f.range.carrier = { x | h x = g x } :=
   by
   refine' Set.ext fun b => ⟨_, fun hb : h b = g b => by_contradiction fun r => _⟩
@@ -315,11 +421,19 @@ theorem agree : f.range.carrier = { x | h x = g x } :=
     exact (from_coset_ne_of_nin_range _ r).symm (by rw [← eq1, ← eq2, FunLike.congr_fun hb])
 #align Group.surjective_of_epi_auxs.agree GroupCat.SurjectiveOfEpiAuxs.agree
 
+#print GroupCat.SurjectiveOfEpiAuxs.comp_eq /-
 theorem comp_eq : (f ≫ show B ⟶ GroupCat.of SX' from g) = f ≫ h :=
   FunLike.ext _ _ fun a => by
     simp only [comp_apply, show h (f a) = _ from (by simp [← agree] : f a ∈ { b | h b = g b })]
 #align Group.surjective_of_epi_auxs.comp_eq GroupCat.SurjectiveOfEpiAuxs.comp_eq
+-/
 
+/- warning: Group.surjective_of_epi_auxs.g_ne_h -> GroupCat.SurjectiveOfEpiAuxs.g_ne_h is a dubious translation:
+lean 3 declaration is
+  forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1})) A B) (x : coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B), (Not (Membership.Mem.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Subgroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)) (SetLike.hasMem.{u1, u1} (Subgroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Subgroup.setLike.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B))) x (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f))) -> (Ne.{succ u1} (MonoidHom.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (Group.toDivInvMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.hasCoeToSort.{u1} B) (GroupCat.group.{u1} B)))) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (GroupCat.SurjectiveOfEpiAuxs.g.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.h.{u1} A B f))
+but is expected to have type
+  forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1})) A B) (x : CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B), (Not (Membership.mem.{u1, u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Subgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)) (SetLike.instMembership.{u1, u1} (Subgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (Subgroup.instSetLikeSubgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))) x (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f))) -> (Ne.{succ u1} (MonoidHom.{u1, u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Monoid.toMulOneClass.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (DivInvMonoid.toMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (Group.toDivInvMonoid.{u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (GroupCat.instGroupCoeGroupCatTypeInstCoeSortGroupCatType.{u1} B)))) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)) (Equiv.Perm.permGroup.{u1} (GroupCat.SurjectiveOfEpiAuxs.XWithInfinity.{u1} A B f)))))) (GroupCat.SurjectiveOfEpiAuxs.g.{u1} A B f) (GroupCat.SurjectiveOfEpiAuxs.h.{u1} A B f))
+Case conversion may be inaccurate. Consider using '#align Group.surjective_of_epi_auxs.g_ne_h GroupCat.SurjectiveOfEpiAuxs.g_ne_hₓ'. -/
 theorem g_ne_h (x : B) (hx : x ∉ f.range) : g ≠ h :=
   by
   intro r
@@ -334,6 +448,12 @@ theorem g_ne_h (x : B) (hx : x ∉ f.range) : g ≠ h :=
 
 end SurjectiveOfEpiAuxs
 
+/- warning: Group.surjective_of_epi -> GroupCat.surjective_of_epi is a dubious translation:
+lean 3 declaration is
+  forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1})) A B) [_inst_1 : CategoryTheory.Epi.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1} A B f], Function.Surjective.{succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1})) A B) (fun (_x : MonoidHom.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (Group.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (CategoryTheory.Bundled.str.{u1, u1} Group.{u1} A))) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (CategoryTheory.Bundled.str.{u1, u1} Group.{u1} B)))) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (MonoidHom.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (Group.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (CategoryTheory.Bundled.str.{u1, u1} Group.{u1} A))) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (CategoryTheory.Bundled.str.{u1, u1} Group.{u1} B)))) f)
+but is expected to have type
+  forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1})) A B) [_inst_1 : CategoryTheory.Epi.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1} A B f], Function.Surjective.{succ u1, succ u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} A) (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (CoeFun.coe.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1})) A B) (fun (_x : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1})) A B) => (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} A) -> (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B)) (GroupCat.instCoeFunHomGroupCatToQuiverToCategoryStructLargeCategoryForAllCoeTypeInstCoeSortGroupCatType.{u1} A B) f)
+Case conversion may be inaccurate. Consider using '#align Group.surjective_of_epi GroupCat.surjective_of_epiₓ'. -/
 theorem surjective_of_epi [Epi f] : Function.Surjective f :=
   by
   by_contra r
@@ -344,10 +464,22 @@ theorem surjective_of_epi [Epi f] : Function.Surjective f :=
       ((cancel_epi f).1 (surjective_of_epi_auxs.comp_eq f))
 #align Group.surjective_of_epi GroupCat.surjective_of_epi
 
+/- warning: Group.epi_iff_surjective -> GroupCat.epi_iff_surjective is a dubious translation:
+lean 3 declaration is
+  forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1})) A B), Iff (CategoryTheory.Epi.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1} A B f) (Function.Surjective.{succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1})) A B) (fun (_x : MonoidHom.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (Group.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (CategoryTheory.Bundled.str.{u1, u1} Group.{u1} A))) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (CategoryTheory.Bundled.str.{u1, u1} Group.{u1} B)))) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B)) (MonoidHom.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (Group.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (CategoryTheory.Bundled.str.{u1, u1} Group.{u1} A))) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (Group.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (CategoryTheory.Bundled.str.{u1, u1} Group.{u1} B)))) f))
+but is expected to have type
+  forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1})) A B), Iff (CategoryTheory.Epi.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1} A B f) (Function.Surjective.{succ u1, succ u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} A) (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B) (CoeFun.coe.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1})) A B) (fun (_x : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1})) A B) => (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} A) -> (CoeSort.coe.{succ (succ u1), succ (succ u1)} GroupCat.{u1} Type.{u1} GroupCat.instCoeSortGroupCatType.{u1} B)) (GroupCat.instCoeFunHomGroupCatToQuiverToCategoryStructLargeCategoryForAllCoeTypeInstCoeSortGroupCatType.{u1} A B) f))
+Case conversion may be inaccurate. Consider using '#align Group.epi_iff_surjective GroupCat.epi_iff_surjectiveₓ'. -/
 theorem epi_iff_surjective : Epi f ↔ Function.Surjective f :=
   ⟨fun h => @surjective_of_epi f h, ConcreteCategory.epi_of_surjective _⟩
 #align Group.epi_iff_surjective GroupCat.epi_iff_surjective
 
+/- warning: Group.epi_iff_range_eq_top -> GroupCat.epi_iff_range_eq_top is a dubious translation:
+lean 3 declaration is
+  forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1})) A B), Iff (CategoryTheory.Epi.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1} A B f) (Eq.{succ u1} (Subgroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) A) (GroupCat.group.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B) f) (Top.top.{u1} (Subgroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B)) (Subgroup.hasTop.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} Group.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} Group.{u1}) B) (GroupCat.group.{u1} B))))
+but is expected to have type
+  forall {A : GroupCat.{u1}} {B : GroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} GroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} GroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1})) A B), Iff (CategoryTheory.Epi.{u1, succ u1} GroupCat.{u1} GroupCat.largeCategory.{u1} A B f) (Eq.{succ u1} (Subgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} A) (GroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B) f) (Top.top.{u1} (Subgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B)) (Subgroup.instTopSubgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} Group.{u1} B) (GroupCat.instGroupα.{u1} B))))
+Case conversion may be inaccurate. Consider using '#align Group.epi_iff_range_eq_top GroupCat.epi_iff_range_eq_topₓ'. -/
 theorem epi_iff_range_eq_top : Epi f ↔ f.range = ⊤ :=
   Iff.trans (epi_iff_surjective _) (Subgroup.eq_top_iff' f.range).symm
 #align Group.epi_iff_range_eq_top GroupCat.epi_iff_range_eq_top
@@ -358,6 +490,12 @@ namespace AddGroupCat
 
 variable {A B : AddGroupCat.{u}} (f : A ⟶ B)
 
+/- warning: AddGroup.epi_iff_surjective -> AddGroupCat.epi_iff_surjective is a dubious translation:
+lean 3 declaration is
+  forall {A : AddGroupCat.{u1}} {B : AddGroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} AddGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddGroupCat.{u1} AddGroupCat.largeCategory.{u1})) A B), Iff (CategoryTheory.Epi.{u1, succ u1} AddGroupCat.{u1} AddGroupCat.largeCategory.{u1} A B f) (Function.Surjective.{succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddGroup.{u1}) A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddGroup.{u1}) B) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} AddGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddGroupCat.{u1} AddGroupCat.largeCategory.{u1})) A B) (fun (_x : AddMonoidHom.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddGroup.{u1}) A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddGroup.{u1}) B) (AddMonoid.toAddZeroClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddGroup.{u1}) A) (AddGroup.toAddMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddGroup.{u1}) A) (CategoryTheory.Bundled.str.{u1, u1} AddGroup.{u1} A))) (AddMonoid.toAddZeroClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddGroup.{u1}) B) (AddGroup.toAddMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddGroup.{u1}) B) (CategoryTheory.Bundled.str.{u1, u1} AddGroup.{u1} B)))) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddGroup.{u1}) A) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddGroup.{u1}) B)) (AddMonoidHom.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddGroup.{u1}) A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddGroup.{u1}) B) (AddMonoid.toAddZeroClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddGroup.{u1}) A) (AddGroup.toAddMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddGroup.{u1}) A) (CategoryTheory.Bundled.str.{u1, u1} AddGroup.{u1} A))) (AddMonoid.toAddZeroClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddGroup.{u1}) B) (AddGroup.toAddMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddGroup.{u1}) B) (CategoryTheory.Bundled.str.{u1, u1} AddGroup.{u1} B)))) f))
+but is expected to have type
+  forall {A : AddGroupCat.{u1}} {B : AddGroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} AddGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddGroupCat.{u1} AddGroupCat.largeCategory.{u1})) A B), Iff (CategoryTheory.Epi.{u1, succ u1} AddGroupCat.{u1} AddGroupCat.largeCategory.{u1} A B f) (Function.Surjective.{succ u1, succ u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} AddGroupCat.{u1} Type.{u1} AddGroupCat.instCoeSortAddGroupCatType.{u1} A) (CoeSort.coe.{succ (succ u1), succ (succ u1)} AddGroupCat.{u1} Type.{u1} AddGroupCat.instCoeSortAddGroupCatType.{u1} B) (CoeFun.coe.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} AddGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddGroupCat.{u1} AddGroupCat.largeCategory.{u1})) A B) (fun (_x : Quiver.Hom.{succ u1, succ u1} AddGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddGroupCat.{u1} AddGroupCat.largeCategory.{u1})) A B) => (CoeSort.coe.{succ (succ u1), succ (succ u1)} AddGroupCat.{u1} Type.{u1} AddGroupCat.instCoeSortAddGroupCatType.{u1} A) -> (CoeSort.coe.{succ (succ u1), succ (succ u1)} AddGroupCat.{u1} Type.{u1} AddGroupCat.instCoeSortAddGroupCatType.{u1} B)) (AddGroupCat.instCoeFunHomAddGroupCatToQuiverToCategoryStructLargeCategoryForAllCoeTypeInstCoeSortAddGroupCatType.{u1} A B) f))
+Case conversion may be inaccurate. Consider using '#align AddGroup.epi_iff_surjective AddGroupCat.epi_iff_surjectiveₓ'. -/
 theorem epi_iff_surjective : Epi f ↔ Function.Surjective f :=
   by
   have i1 : epi f ↔ epi (Group_AddGroup_equivalence.inverse.map f) :=
@@ -368,6 +506,12 @@ theorem epi_iff_surjective : Epi f ↔ Function.Surjective f :=
   rwa [GroupCat.epi_iff_surjective] at i1
 #align AddGroup.epi_iff_surjective AddGroupCat.epi_iff_surjective
 
+/- warning: AddGroup.epi_iff_range_eq_top -> AddGroupCat.epi_iff_range_eq_top is a dubious translation:
+lean 3 declaration is
+  forall {A : AddGroupCat.{u1}} {B : AddGroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} AddGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddGroupCat.{u1} AddGroupCat.largeCategory.{u1})) A B), Iff (CategoryTheory.Epi.{u1, succ u1} AddGroupCat.{u1} AddGroupCat.largeCategory.{u1} A B f) (Eq.{succ u1} (AddSubgroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddGroup.{u1}) B) (AddGroupCat.addGroup.{u1} B)) (AddMonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddGroup.{u1}) A) (AddGroupCat.addGroup.{u1} A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddGroup.{u1}) B) (AddGroupCat.addGroup.{u1} B) f) (Top.top.{u1} (AddSubgroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddGroup.{u1}) B) (AddGroupCat.addGroup.{u1} B)) (AddSubgroup.hasTop.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddGroup.{u1}) B) (AddGroupCat.addGroup.{u1} B))))
+but is expected to have type
+  forall {A : AddGroupCat.{u1}} {B : AddGroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} AddGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddGroupCat.{u1} AddGroupCat.largeCategory.{u1})) A B), Iff (CategoryTheory.Epi.{u1, succ u1} AddGroupCat.{u1} AddGroupCat.largeCategory.{u1} A B f) (Eq.{succ u1} (AddSubgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) (AddGroupCat.instGroupα.{u1} B)) (AddMonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} A) (AddGroupCat.instGroupα.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) (AddGroupCat.instGroupα.{u1} B) f) (Top.top.{u1} (AddSubgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) (AddGroupCat.instGroupα.{u1} B)) (AddSubgroup.instTopAddSubgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddGroup.{u1} B) (AddGroupCat.instGroupα.{u1} B))))
+Case conversion may be inaccurate. Consider using '#align AddGroup.epi_iff_range_eq_top AddGroupCat.epi_iff_range_eq_topₓ'. -/
 theorem epi_iff_range_eq_top : Epi f ↔ f.range = ⊤ :=
   Iff.trans (epi_iff_surjective _) (AddSubgroup.eq_top_iff' f.range).symm
 #align AddGroup.epi_iff_range_eq_top AddGroupCat.epi_iff_range_eq_top
@@ -378,17 +522,21 @@ namespace GroupCat
 
 variable {A B : GroupCat.{u}} (f : A ⟶ B)
 
+#print GroupCat.forget_groupCat_preserves_mono /-
 @[to_additive]
 instance forget_groupCat_preserves_mono : (forget GroupCat).PreservesMonomorphisms
     where preserves X Y f e := by rwa [mono_iff_injective, ← CategoryTheory.mono_iff_injective] at e
 #align Group.forget_Group_preserves_mono GroupCat.forget_groupCat_preserves_mono
 #align AddGroup.forget_Group_preserves_mono AddGroupCat.forget_groupCat_preserves_mono
+-/
 
+#print GroupCat.forget_groupCat_preserves_epi /-
 @[to_additive]
 instance forget_groupCat_preserves_epi : (forget GroupCat).PreservesEpimorphisms
     where preserves X Y f e := by rwa [epi_iff_surjective, ← CategoryTheory.epi_iff_surjective] at e
 #align Group.forget_Group_preserves_epi GroupCat.forget_groupCat_preserves_epi
 #align AddGroup.forget_Group_preserves_epi AddGroupCat.forget_groupCat_preserves_epi
+-/
 
 end GroupCat
 
@@ -396,6 +544,12 @@ namespace CommGroupCat
 
 variable {A B : CommGroupCat.{u}} (f : A ⟶ B)
 
+/- warning: CommGroup.ker_eq_bot_of_mono -> CommGroupCat.ker_eq_bot_of_mono is a dubious translation:
+lean 3 declaration is
+  forall {A : CommGroupCat.{u1}} {B : CommGroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} CommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} CommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} CommGroupCat.{u1} CommGroupCat.largeCategory.{u1})) A B) [_inst_1 : CategoryTheory.Mono.{u1, succ u1} CommGroupCat.{u1} CommGroupCat.largeCategory.{u1} A B f], Eq.{succ u1} (Subgroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (CommGroup.toGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (CommGroupCat.commGroupInstance.{u1} A))) (MonoidHom.ker.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (CommGroup.toGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (CommGroupCat.commGroupInstance.{u1} A)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (Group.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (CommGroup.toGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (CategoryTheory.Bundled.str.{u1, u1} CommGroup.{u1} B)))) f) (Bot.bot.{u1} (Subgroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (CommGroup.toGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (CommGroupCat.commGroupInstance.{u1} A))) (Subgroup.hasBot.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (CommGroup.toGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (CommGroupCat.commGroupInstance.{u1} A))))
+but is expected to have type
+  forall {A : CommGroupCat.{u1}} {B : CommGroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} CommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} CommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} CommGroupCat.{u1} CommGroupCat.largeCategory.{u1})) A B) [_inst_1 : CategoryTheory.Mono.{u1, succ u1} CommGroupCat.{u1} CommGroupCat.largeCategory.{u1} A B f], Eq.{succ u1} (Subgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (_private.Mathlib.Algebra.Category.GroupCat.EpiMono.0.CommGroupCat.instGroupαCommGroup.{u1} A)) (MonoidHom.ker.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (_private.Mathlib.Algebra.Category.GroupCat.EpiMono.0.CommGroupCat.instGroupαCommGroup.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) ((fun {α : Type.{u1}} (h : Group.{u1} α) => DivInvMonoid.toMonoid.{u1} α (Group.toDivInvMonoid.{u1} α h)) (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (CommGroup.toGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (CategoryTheory.Bundled.str.{u1, u1} CommGroup.{u1} B)))) f) (Bot.bot.{u1} (Subgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (_private.Mathlib.Algebra.Category.GroupCat.EpiMono.0.CommGroupCat.instGroupαCommGroup.{u1} A)) (Subgroup.instBotSubgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (_private.Mathlib.Algebra.Category.GroupCat.EpiMono.0.CommGroupCat.instGroupαCommGroup.{u1} A)))
+Case conversion may be inaccurate. Consider using '#align CommGroup.ker_eq_bot_of_mono CommGroupCat.ker_eq_bot_of_monoₓ'. -/
 @[to_additive AddCommGroupCat.ker_eq_bot_of_mono]
 theorem ker_eq_bot_of_mono [Mono f] : f.ker = ⊥ :=
   MonoidHom.ker_eq_bot_of_cancel fun u v =>
@@ -403,6 +557,12 @@ theorem ker_eq_bot_of_mono [Mono f] : f.ker = ⊥ :=
 #align CommGroup.ker_eq_bot_of_mono CommGroupCat.ker_eq_bot_of_mono
 #align AddCommGroup.ker_eq_bot_of_mono AddCommGroupCat.ker_eq_bot_of_mono
 
+/- warning: CommGroup.mono_iff_ker_eq_bot -> CommGroupCat.mono_iff_ker_eq_bot is a dubious translation:
+lean 3 declaration is
+  forall {A : CommGroupCat.{u1}} {B : CommGroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} CommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} CommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} CommGroupCat.{u1} CommGroupCat.largeCategory.{u1})) A B), Iff (CategoryTheory.Mono.{u1, succ u1} CommGroupCat.{u1} CommGroupCat.largeCategory.{u1} A B f) (Eq.{succ u1} (Subgroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (CommGroup.toGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (CommGroupCat.commGroupInstance.{u1} A))) (MonoidHom.ker.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (CommGroup.toGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (CommGroupCat.commGroupInstance.{u1} A)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (Group.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (CommGroup.toGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (CategoryTheory.Bundled.str.{u1, u1} CommGroup.{u1} B)))) f) (Bot.bot.{u1} (Subgroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (CommGroup.toGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (CommGroupCat.commGroupInstance.{u1} A))) (Subgroup.hasBot.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (CommGroup.toGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (CommGroupCat.commGroupInstance.{u1} A)))))
+but is expected to have type
+  forall {A : CommGroupCat.{u1}} {B : CommGroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} CommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} CommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} CommGroupCat.{u1} CommGroupCat.largeCategory.{u1})) A B), Iff (CategoryTheory.Mono.{u1, succ u1} CommGroupCat.{u1} CommGroupCat.largeCategory.{u1} A B f) (Eq.{succ u1} (Subgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (_private.Mathlib.Algebra.Category.GroupCat.EpiMono.0.CommGroupCat.instGroupαCommGroup.{u1} A)) (MonoidHom.ker.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (_private.Mathlib.Algebra.Category.GroupCat.EpiMono.0.CommGroupCat.instGroupαCommGroup.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (Monoid.toMulOneClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) ((fun {α : Type.{u1}} (h : Group.{u1} α) => DivInvMonoid.toMonoid.{u1} α (Group.toDivInvMonoid.{u1} α h)) (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (CommGroup.toGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (CategoryTheory.Bundled.str.{u1, u1} CommGroup.{u1} B)))) f) (Bot.bot.{u1} (Subgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (_private.Mathlib.Algebra.Category.GroupCat.EpiMono.0.CommGroupCat.instGroupαCommGroup.{u1} A)) (Subgroup.instBotSubgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (_private.Mathlib.Algebra.Category.GroupCat.EpiMono.0.CommGroupCat.instGroupαCommGroup.{u1} A))))
+Case conversion may be inaccurate. Consider using '#align CommGroup.mono_iff_ker_eq_bot CommGroupCat.mono_iff_ker_eq_botₓ'. -/
 @[to_additive AddCommGroupCat.mono_iff_ker_eq_bot]
 theorem mono_iff_ker_eq_bot : Mono f ↔ f.ker = ⊥ :=
   ⟨fun h => @ker_eq_bot_of_mono f h, fun h =>
@@ -410,12 +570,24 @@ theorem mono_iff_ker_eq_bot : Mono f ↔ f.ker = ⊥ :=
 #align CommGroup.mono_iff_ker_eq_bot CommGroupCat.mono_iff_ker_eq_bot
 #align AddCommGroup.mono_iff_ker_eq_bot AddCommGroupCat.mono_iff_ker_eq_bot
 
+/- warning: CommGroup.mono_iff_injective -> CommGroupCat.mono_iff_injective is a dubious translation:
+lean 3 declaration is
+  forall {A : CommGroupCat.{u1}} {B : CommGroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} CommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} CommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} CommGroupCat.{u1} CommGroupCat.largeCategory.{u1})) A B), Iff (CategoryTheory.Mono.{u1, succ u1} CommGroupCat.{u1} CommGroupCat.largeCategory.{u1} A B f) (Function.Injective.{succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} CommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} CommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} CommGroupCat.{u1} CommGroupCat.largeCategory.{u1})) A B) (fun (_x : MonoidHom.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (Group.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (CommGroup.toGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (CategoryTheory.Bundled.str.{u1, u1} CommGroup.{u1} A)))) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (Group.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (CommGroup.toGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (CategoryTheory.Bundled.str.{u1, u1} CommGroup.{u1} B))))) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B)) (MonoidHom.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (Group.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (CommGroup.toGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (CategoryTheory.Bundled.str.{u1, u1} CommGroup.{u1} A)))) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (Group.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (CommGroup.toGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (CategoryTheory.Bundled.str.{u1, u1} CommGroup.{u1} B))))) f))
+but is expected to have type
+  forall {A : CommGroupCat.{u1}} {B : CommGroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} CommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} CommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} CommGroupCat.{u1} CommGroupCat.largeCategory.{u1})) A B), Iff (CategoryTheory.Mono.{u1, succ u1} CommGroupCat.{u1} CommGroupCat.largeCategory.{u1} A B f) (Function.Injective.{succ u1, succ u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} CommGroupCat.{u1} Type.{u1} CommGroupCat.instCoeSortCommGroupCatType.{u1} A) (CoeSort.coe.{succ (succ u1), succ (succ u1)} CommGroupCat.{u1} Type.{u1} CommGroupCat.instCoeSortCommGroupCatType.{u1} B) (CoeFun.coe.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} CommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} CommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} CommGroupCat.{u1} CommGroupCat.largeCategory.{u1})) A B) (fun (_x : Quiver.Hom.{succ u1, succ u1} CommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} CommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} CommGroupCat.{u1} CommGroupCat.largeCategory.{u1})) A B) => (CoeSort.coe.{succ (succ u1), succ (succ u1)} CommGroupCat.{u1} Type.{u1} CommGroupCat.instCoeSortCommGroupCatType.{u1} A) -> (CoeSort.coe.{succ (succ u1), succ (succ u1)} CommGroupCat.{u1} Type.{u1} CommGroupCat.instCoeSortCommGroupCatType.{u1} B)) (CommGroupCat.instCoeFunHomCommGroupCatToQuiverToCategoryStructLargeCategoryForAllCoeTypeInstCoeSortCommGroupCatType.{u1} A B) f))
+Case conversion may be inaccurate. Consider using '#align CommGroup.mono_iff_injective CommGroupCat.mono_iff_injectiveₓ'. -/
 @[to_additive AddCommGroupCat.mono_iff_injective]
 theorem mono_iff_injective : Mono f ↔ Function.Injective f :=
   Iff.trans (mono_iff_ker_eq_bot f) <| MonoidHom.ker_eq_bot_iff f
 #align CommGroup.mono_iff_injective CommGroupCat.mono_iff_injective
 #align AddCommGroup.mono_iff_injective AddCommGroupCat.mono_iff_injective
 
+/- warning: CommGroup.range_eq_top_of_epi -> CommGroupCat.range_eq_top_of_epi is a dubious translation:
+lean 3 declaration is
+  forall {A : CommGroupCat.{u1}} {B : CommGroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} CommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} CommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} CommGroupCat.{u1} CommGroupCat.largeCategory.{u1})) A B) [_inst_1 : CategoryTheory.Epi.{u1, succ u1} CommGroupCat.{u1} CommGroupCat.largeCategory.{u1} A B f], Eq.{succ u1} (Subgroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (CommGroup.toGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (CommGroupCat.commGroupInstance.{u1} B))) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (CommGroup.toGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (CommGroupCat.commGroupInstance.{u1} A)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (CommGroup.toGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (CommGroupCat.commGroupInstance.{u1} B)) f) (Top.top.{u1} (Subgroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (CommGroup.toGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (CommGroupCat.commGroupInstance.{u1} B))) (Subgroup.hasTop.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (CommGroup.toGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (CommGroupCat.commGroupInstance.{u1} B))))
+but is expected to have type
+  forall {A : CommGroupCat.{u1}} {B : CommGroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} CommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} CommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} CommGroupCat.{u1} CommGroupCat.largeCategory.{u1})) A B) [_inst_1 : CategoryTheory.Epi.{u1, succ u1} CommGroupCat.{u1} CommGroupCat.largeCategory.{u1} A B f], Eq.{succ u1} (Subgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EpiMono.0.CommGroupCat.instGroupαCommGroup.{u1} B)) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (_private.Mathlib.Algebra.Category.GroupCat.EpiMono.0.CommGroupCat.instGroupαCommGroup.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EpiMono.0.CommGroupCat.instGroupαCommGroup.{u1} B) f) (Top.top.{u1} (Subgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EpiMono.0.CommGroupCat.instGroupαCommGroup.{u1} B)) (Subgroup.instTopSubgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EpiMono.0.CommGroupCat.instGroupαCommGroup.{u1} B)))
+Case conversion may be inaccurate. Consider using '#align CommGroup.range_eq_top_of_epi CommGroupCat.range_eq_top_of_epiₓ'. -/
 @[to_additive]
 theorem range_eq_top_of_epi [Epi f] : f.range = ⊤ :=
   MonoidHom.range_eq_top_of_cancel fun u v h =>
@@ -423,6 +595,12 @@ theorem range_eq_top_of_epi [Epi f] : f.range = ⊤ :=
 #align CommGroup.range_eq_top_of_epi CommGroupCat.range_eq_top_of_epi
 #align AddCommGroup.range_eq_top_of_epi AddCommGroupCat.range_eq_top_of_epi
 
+/- warning: CommGroup.epi_iff_range_eq_top -> CommGroupCat.epi_iff_range_eq_top is a dubious translation:
+lean 3 declaration is
+  forall {A : CommGroupCat.{u1}} {B : CommGroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} CommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} CommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} CommGroupCat.{u1} CommGroupCat.largeCategory.{u1})) A B), Iff (CategoryTheory.Epi.{u1, succ u1} CommGroupCat.{u1} CommGroupCat.largeCategory.{u1} A B f) (Eq.{succ u1} (Subgroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (CommGroup.toGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (CommGroupCat.commGroupInstance.{u1} B))) (MonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (CommGroup.toGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (CommGroupCat.commGroupInstance.{u1} A)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (CommGroup.toGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (CommGroupCat.commGroupInstance.{u1} B)) f) (Top.top.{u1} (Subgroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (CommGroup.toGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (CommGroupCat.commGroupInstance.{u1} B))) (Subgroup.hasTop.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (CommGroup.toGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (CommGroupCat.commGroupInstance.{u1} B)))))
+but is expected to have type
+  forall {A : CommGroupCat.{u1}} {B : CommGroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} CommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} CommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} CommGroupCat.{u1} CommGroupCat.largeCategory.{u1})) A B), Iff (CategoryTheory.Epi.{u1, succ u1} CommGroupCat.{u1} CommGroupCat.largeCategory.{u1} A B f) (Eq.{succ u1} (Subgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EpiMono.0.CommGroupCat.instGroupαCommGroup.{u1} B)) (MonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} A) (_private.Mathlib.Algebra.Category.GroupCat.EpiMono.0.CommGroupCat.instGroupαCommGroup.{u1} A) (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EpiMono.0.CommGroupCat.instGroupαCommGroup.{u1} B) f) (Top.top.{u1} (Subgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EpiMono.0.CommGroupCat.instGroupαCommGroup.{u1} B)) (Subgroup.instTopSubgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} CommGroup.{u1} B) (_private.Mathlib.Algebra.Category.GroupCat.EpiMono.0.CommGroupCat.instGroupαCommGroup.{u1} B))))
+Case conversion may be inaccurate. Consider using '#align CommGroup.epi_iff_range_eq_top CommGroupCat.epi_iff_range_eq_topₓ'. -/
 @[to_additive]
 theorem epi_iff_range_eq_top : Epi f ↔ f.range = ⊤ :=
   ⟨fun hf => range_eq_top_of_epi _, fun hf =>
@@ -430,23 +608,33 @@ theorem epi_iff_range_eq_top : Epi f ↔ f.range = ⊤ :=
 #align CommGroup.epi_iff_range_eq_top CommGroupCat.epi_iff_range_eq_top
 #align AddCommGroup.epi_iff_range_eq_top AddCommGroupCat.epi_iff_range_eq_top
 
+/- warning: CommGroup.epi_iff_surjective -> CommGroupCat.epi_iff_surjective is a dubious translation:
+lean 3 declaration is
+  forall {A : CommGroupCat.{u1}} {B : CommGroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} CommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} CommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} CommGroupCat.{u1} CommGroupCat.largeCategory.{u1})) A B), Iff (CategoryTheory.Epi.{u1, succ u1} CommGroupCat.{u1} CommGroupCat.largeCategory.{u1} A B f) (Function.Surjective.{succ u1, succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} CommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} CommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} CommGroupCat.{u1} CommGroupCat.largeCategory.{u1})) A B) (fun (_x : MonoidHom.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (Group.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (CommGroup.toGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (CategoryTheory.Bundled.str.{u1, u1} CommGroup.{u1} A)))) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (Group.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (CommGroup.toGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (CategoryTheory.Bundled.str.{u1, u1} CommGroup.{u1} B))))) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B)) (MonoidHom.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (Group.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (CommGroup.toGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) A) (CategoryTheory.Bundled.str.{u1, u1} CommGroup.{u1} A)))) (Monoid.toMulOneClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (Group.toMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (CommGroup.toGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} CommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} CommGroup.{u1}) B) (CategoryTheory.Bundled.str.{u1, u1} CommGroup.{u1} B))))) f))
+but is expected to have type
+  forall {A : CommGroupCat.{u1}} {B : CommGroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} CommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} CommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} CommGroupCat.{u1} CommGroupCat.largeCategory.{u1})) A B), Iff (CategoryTheory.Epi.{u1, succ u1} CommGroupCat.{u1} CommGroupCat.largeCategory.{u1} A B f) (Function.Surjective.{succ u1, succ u1} (CoeSort.coe.{succ (succ u1), succ (succ u1)} CommGroupCat.{u1} Type.{u1} CommGroupCat.instCoeSortCommGroupCatType.{u1} A) (CoeSort.coe.{succ (succ u1), succ (succ u1)} CommGroupCat.{u1} Type.{u1} CommGroupCat.instCoeSortCommGroupCatType.{u1} B) (CoeFun.coe.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} CommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} CommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} CommGroupCat.{u1} CommGroupCat.largeCategory.{u1})) A B) (fun (_x : Quiver.Hom.{succ u1, succ u1} CommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} CommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} CommGroupCat.{u1} CommGroupCat.largeCategory.{u1})) A B) => (CoeSort.coe.{succ (succ u1), succ (succ u1)} CommGroupCat.{u1} Type.{u1} CommGroupCat.instCoeSortCommGroupCatType.{u1} A) -> (CoeSort.coe.{succ (succ u1), succ (succ u1)} CommGroupCat.{u1} Type.{u1} CommGroupCat.instCoeSortCommGroupCatType.{u1} B)) (CommGroupCat.instCoeFunHomCommGroupCatToQuiverToCategoryStructLargeCategoryForAllCoeTypeInstCoeSortCommGroupCatType.{u1} A B) f))
+Case conversion may be inaccurate. Consider using '#align CommGroup.epi_iff_surjective CommGroupCat.epi_iff_surjectiveₓ'. -/
 @[to_additive]
 theorem epi_iff_surjective : Epi f ↔ Function.Surjective f := by
   rw [epi_iff_range_eq_top, MonoidHom.range_top_iff_surjective]
 #align CommGroup.epi_iff_surjective CommGroupCat.epi_iff_surjective
 #align AddCommGroup.epi_iff_surjective AddCommGroupCat.epi_iff_surjective
 
+#print CommGroupCat.forget_commGroupCat_preserves_mono /-
 @[to_additive]
 instance forget_commGroupCat_preserves_mono : (forget CommGroupCat).PreservesMonomorphisms
     where preserves X Y f e := by rwa [mono_iff_injective, ← CategoryTheory.mono_iff_injective] at e
 #align CommGroup.forget_CommGroup_preserves_mono CommGroupCat.forget_commGroupCat_preserves_mono
 #align AddCommGroup.forget_CommGroup_preserves_mono AddCommGroupCat.forget_commGroupCat_preserves_mono
+-/
 
+#print CommGroupCat.forget_commGroupCat_preserves_epi /-
 @[to_additive]
 instance forget_commGroupCat_preserves_epi : (forget CommGroupCat).PreservesEpimorphisms
     where preserves X Y f e := by rwa [epi_iff_surjective, ← CategoryTheory.epi_iff_surjective] at e
 #align CommGroup.forget_CommGroup_preserves_epi CommGroupCat.forget_commGroupCat_preserves_epi
 #align AddCommGroup.forget_CommGroup_preserves_epi AddCommGroupCat.forget_commGroupCat_preserves_epi
+-/
 
 end CommGroupCat
 

Changes in mathlib4

mathlib3
mathlib4
chore(*): rename FunLike to DFunLike (#9785)

This prepares for the introduction of a non-dependent synonym of FunLike, which helps a lot with keeping #8386 readable.

This is entirely search-and-replace in 680197f combined with manual fixes in 4145626, e900597 and b8428f8. The commands that generated this change:

sed -i 's/\bFunLike\b/DFunLike/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean
sed -i 's/\btoFunLike\b/toDFunLike/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean
sed -i 's/import Mathlib.Data.DFunLike/import Mathlib.Data.FunLike/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean
sed -i 's/\bHom_FunLike\b/Hom_DFunLike/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean     
sed -i 's/\binstFunLike\b/instDFunLike/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean
sed -i 's/\bfunLike\b/instDFunLike/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean
sed -i 's/\btoo many metavariables to apply `fun_like.has_coe_to_fun`/too many metavariables to apply `DFunLike.hasCoeToFun`/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean

Co-authored-by: Anne Baanen <Vierkantor@users.noreply.github.com>

Diff
@@ -305,7 +305,7 @@ theorem agree : f.range = { x | h x = g x } := by
       simp [g_apply_infinity f]
     have eq2 :
       g b (fromCoset ⟨f.range, 1, one_leftCoset _⟩) = fromCoset ⟨b • ↑f.range, b, rfl⟩ := rfl
-    exact (fromCoset_ne_of_nin_range _ r).symm (by rw [← eq1, ← eq2, FunLike.congr_fun hb])
+    exact (fromCoset_ne_of_nin_range _ r).symm (by rw [← eq1, ← eq2, DFunLike.congr_fun hb])
 #align Group.surjective_of_epi_auxs.agree GroupCat.SurjectiveOfEpiAuxs.agree
 
 theorem comp_eq : (f ≫ show B ⟶ GroupCat.of SX' from g) = f ≫ show B ⟶ GroupCat.of SX' from h := by
@@ -320,7 +320,7 @@ theorem comp_eq : (f ≫ show B ⟶ GroupCat.of SX' from g) = f ≫ show B ⟶ G
 theorem g_ne_h (x : B) (hx : x ∉ f.range) : g ≠ h := by
   intro r
   replace r :=
-    FunLike.congr_fun (FunLike.congr_fun r x) (fromCoset ⟨f.range, ⟨1, one_leftCoset _⟩⟩)
+    DFunLike.congr_fun (DFunLike.congr_fun r x) (fromCoset ⟨f.range, ⟨1, one_leftCoset _⟩⟩)
   change _ = ((τ).symm.trans (g x)).trans τ _ at r
   rw [g_apply_fromCoset, MonoidHom.coe_mk] at r
   simp only [MonoidHom.coe_range, Subtype.coe_mk, Equiv.symm_swap, Equiv.toFun_as_coe,
refactor: Remove leftCoset/rightCoset (#8877)

Those two definitions are completely obsolete now that we have the pointwise API. This PR removes them but not the corresponding API. A much more tedious subsequent PR will be needed to merge the two API.

Note that I need to tweak simp lemmas to keep confluence since I'm merging two pairs of head keys together.

Diff
@@ -17,6 +17,8 @@ epimorphisms are surjective homomorphisms.
 
 noncomputable section
 
+open scoped Pointwise
+
 universe u v
 
 namespace MonoidHom
@@ -96,19 +98,18 @@ theorem mono_iff_injective : Mono f ↔ Function.Injective f :=
 
 namespace SurjectiveOfEpiAuxs
 
-local notation "X" => Set.range (Function.swap leftCoset f.range.carrier)
+set_option quotPrecheck false in
+local notation "X" => Set.range (· • (f.range : Set B) : B → Set B)
 
 /-- Define `X'` to be the set of all left cosets with an extra point at "infinity".
 -/
 inductive XWithInfinity
-  | fromCoset : Set.range (Function.swap leftCoset f.range.carrier) → XWithInfinity
+  | fromCoset : Set.range (· • (f.range : Set B) : B → Set B) → XWithInfinity
   | infinity : XWithInfinity
 #align Group.surjective_of_epi_auxs.X_with_infinity GroupCat.SurjectiveOfEpiAuxs.XWithInfinity
 
 open XWithInfinity Equiv.Perm
 
-open Coset
-
 local notation "X'" => XWithInfinity f
 
 local notation "∞" => XWithInfinity.infinity
@@ -118,7 +119,7 @@ local notation "SX'" => Equiv.Perm X'
 instance : SMul B X' where
   smul b x :=
     match x with
-    | fromCoset y => fromCoset ⟨b *l y, by
+    | fromCoset y => fromCoset ⟨b • y, by
           rw [← y.2.choose_spec, leftCoset_assoc]
           -- Porting note: should we make `Bundled.α` reducible?
           let b' : B := y.2.choose
@@ -142,12 +143,11 @@ theorem one_smul (x : X') : (1 : B) • x = x :=
 #align Group.surjective_of_epi_auxs.one_smul GroupCat.SurjectiveOfEpiAuxs.one_smul
 
 theorem fromCoset_eq_of_mem_range {b : B} (hb : b ∈ f.range) :
-    fromCoset ⟨b *l f.range.carrier, ⟨b, rfl⟩⟩ =
-      fromCoset ⟨f.range.carrier, ⟨1, one_leftCoset _⟩⟩ := by
+    fromCoset ⟨b • ↑f.range, b, rfl⟩ = fromCoset ⟨f.range, 1, one_leftCoset _⟩ := by
   congr
   let b : B.α := b
-  change b *l f.range = f.range
-  nth_rw 2 [show (f.range : Set B.α) = 1 *l f.range from (one_leftCoset _).symm]
+  change b • (f.range : Set B) = f.range
+  nth_rw 2 [show (f.range : Set B.α) = (1 : B) • f.range from (one_leftCoset _).symm]
   rw [leftCoset_eq_iff, mul_one]
   exact Subgroup.inv_mem _ hb
 #align Group.surjective_of_epi_auxs.from_coset_eq_of_mem_range GroupCat.SurjectiveOfEpiAuxs.fromCoset_eq_of_mem_range
@@ -155,14 +155,13 @@ theorem fromCoset_eq_of_mem_range {b : B} (hb : b ∈ f.range) :
 example (G : Type) [Group G] (S : Subgroup G) : Set G := S
 
 theorem fromCoset_ne_of_nin_range {b : B} (hb : b ∉ f.range) :
-    fromCoset ⟨b *l f.range.carrier, ⟨b, rfl⟩⟩ ≠
-      fromCoset ⟨f.range.carrier, ⟨1, one_leftCoset _⟩⟩ := by
+    fromCoset ⟨b • ↑f.range, b, rfl⟩ ≠ fromCoset ⟨f.range, 1, one_leftCoset _⟩ := by
   intro r
   simp only [fromCoset.injEq, Subtype.mk.injEq] at r
   -- Porting note: annoying dance between types CoeSort.coe B, B.α, and B
   let b' : B.α := b
-  change b' *l f.range = f.range at r
-  nth_rw 2 [show (f.range : Set B.α) = 1 *l f.range from (one_leftCoset _).symm] at r
+  change b' • (f.range : Set B) = f.range at r
+  nth_rw 2 [show (f.range : Set B.α) = (1 : B) • f.range from (one_leftCoset _).symm] at r
   rw [leftCoset_eq_iff, mul_one] at r
   exact hb (inv_inv b ▸ Subgroup.inv_mem _ r)
 #align Group.surjective_of_epi_auxs.from_coset_ne_of_nin_range GroupCat.SurjectiveOfEpiAuxs.fromCoset_ne_of_nin_range
@@ -173,36 +172,35 @@ instance : DecidableEq X' :=
 /-- Let `τ` be the permutation on `X'` exchanging `f.range` and the point at infinity.
 -/
 noncomputable def tau : SX' :=
-  Equiv.swap (fromCoset ⟨f.range.carrier, ⟨1, one_leftCoset _⟩⟩) ∞
+  Equiv.swap (fromCoset ⟨↑f.range, ⟨1, one_leftCoset _⟩⟩) ∞
 #align Group.surjective_of_epi_auxs.tau GroupCat.SurjectiveOfEpiAuxs.tau
 
 local notation "τ" => tau f
 
-theorem τ_apply_infinity : τ ∞ = fromCoset ⟨f.range.carrier, ⟨1, one_leftCoset _⟩⟩ :=
+theorem τ_apply_infinity : τ ∞ = fromCoset ⟨f.range, 1, one_leftCoset _⟩ :=
   Equiv.swap_apply_right _ _
 #align Group.surjective_of_epi_auxs.τ_apply_infinity GroupCat.SurjectiveOfEpiAuxs.τ_apply_infinity
 
-theorem τ_apply_fromCoset : τ (fromCoset ⟨f.range.carrier, ⟨1, one_leftCoset _⟩⟩) = ∞ :=
+theorem τ_apply_fromCoset : τ (fromCoset ⟨f.range, 1, one_leftCoset _⟩) = ∞ :=
   Equiv.swap_apply_left _ _
 #align Group.surjective_of_epi_auxs.τ_apply_fromCoset GroupCat.SurjectiveOfEpiAuxs.τ_apply_fromCoset
 
 theorem τ_apply_fromCoset' (x : B) (hx : x ∈ f.range) :
-    τ (fromCoset ⟨x *l f.range.carrier, ⟨x, rfl⟩⟩) = ∞ :=
+    τ (fromCoset ⟨x • ↑f.range, ⟨x, rfl⟩⟩) = ∞ :=
   (fromCoset_eq_of_mem_range _ hx).symm ▸ τ_apply_fromCoset _
 #align Group.surjective_of_epi_auxs.τ_apply_fromCoset' GroupCat.SurjectiveOfEpiAuxs.τ_apply_fromCoset'
 
-theorem τ_symm_apply_fromCoset :
-    (Equiv.symm τ) (fromCoset ⟨f.range.carrier, ⟨1, one_leftCoset _⟩⟩) = ∞ := by
+theorem τ_symm_apply_fromCoset : Equiv.symm τ (fromCoset ⟨f.range, 1, one_leftCoset _⟩) = ∞ := by
   rw [tau, Equiv.symm_swap, Equiv.swap_apply_left]
 #align Group.surjective_of_epi_auxs.τ_symm_apply_fromCoset GroupCat.SurjectiveOfEpiAuxs.τ_symm_apply_fromCoset
 
 theorem τ_symm_apply_infinity :
-    (Equiv.symm τ) ∞ = fromCoset ⟨f.range.carrier, ⟨1, one_leftCoset _⟩⟩ := by
+    Equiv.symm τ ∞ = fromCoset ⟨f.range, 1, one_leftCoset _⟩ := by
   rw [tau, Equiv.symm_swap, Equiv.swap_apply_right]
 #align Group.surjective_of_epi_auxs.τ_symm_apply_infinity GroupCat.SurjectiveOfEpiAuxs.τ_symm_apply_infinity
 
 /-- Let `g : B ⟶ S(X')` be defined as such that, for any `β : B`, `g(β)` is the function sending
-point at infinity to point at infinity and sending coset `y` to `β *l y`.
+point at infinity to point at infinity and sending coset `y` to `β • y`.
 -/
 def g : B →* SX' where
   toFun β :=
@@ -247,8 +245,9 @@ The strategy is the following: assuming `epi f`
 -/
 
 
-theorem g_apply_fromCoset (x : B) (y : X) : (g x) (fromCoset y)
-    = fromCoset ⟨x *l y, by aesop_cat⟩ := rfl
+theorem g_apply_fromCoset (x : B) (y : Set.range (· • (f.range : Set B) : B → Set B)) :
+    g x (fromCoset y) = fromCoset ⟨x • ↑y,
+      by obtain ⟨z, hz⟩ := y.2; exact ⟨x * z, by simp [← hz, smul_smul]⟩⟩ := rfl
 #align Group.surjective_of_epi_auxs.g_apply_fromCoset GroupCat.SurjectiveOfEpiAuxs.g_apply_fromCoset
 
 theorem g_apply_infinity (x : B) : (g x) ∞ = ∞ := rfl
@@ -262,33 +261,31 @@ theorem h_apply_infinity (x : B) (hx : x ∈ f.range) : (h x) ∞ = ∞ := by
 #align Group.surjective_of_epi_auxs.h_apply_infinity GroupCat.SurjectiveOfEpiAuxs.h_apply_infinity
 
 theorem h_apply_fromCoset (x : B) :
-    (h x) (fromCoset ⟨f.range.carrier, ⟨1, one_leftCoset _⟩⟩) =
-      fromCoset ⟨f.range.carrier, ⟨1, one_leftCoset _⟩⟩ := by
+    (h x) (fromCoset ⟨f.range, 1, one_leftCoset _⟩) =
+      fromCoset ⟨f.range, 1, one_leftCoset _⟩ := by
     change ((τ).symm.trans (g x)).trans τ _ = _
-    simp [τ_symm_apply_fromCoset, g_apply_infinity, τ_apply_infinity]
+    simp [-MonoidHom.coe_range, τ_symm_apply_fromCoset, g_apply_infinity, τ_apply_infinity]
 #align Group.surjective_of_epi_auxs.h_apply_fromCoset GroupCat.SurjectiveOfEpiAuxs.h_apply_fromCoset
 
 theorem h_apply_fromCoset' (x : B) (b : B) (hb : b ∈ f.range) :
-    (h x) (fromCoset ⟨b *l f.range.carrier, ⟨b, rfl⟩⟩) =
-      fromCoset ⟨b *l f.range.carrier, ⟨b, rfl⟩⟩ :=
+    h x (fromCoset ⟨b • f.range, b, rfl⟩) = fromCoset ⟨b • ↑f.range, b, rfl⟩ :=
   (fromCoset_eq_of_mem_range _ hb).symm ▸ h_apply_fromCoset f x
 #align Group.surjective_of_epi_auxs.h_apply_fromCoset' GroupCat.SurjectiveOfEpiAuxs.h_apply_fromCoset'
 
 theorem h_apply_fromCoset_nin_range (x : B) (hx : x ∈ f.range) (b : B) (hb : b ∉ f.range) :
-    (h x) (fromCoset ⟨b *l f.range.carrier, ⟨b, rfl⟩⟩) =
-      fromCoset ⟨x * b *l f.range.carrier, ⟨x * b, rfl⟩⟩ := by
+    h x (fromCoset ⟨b • f.range, b, rfl⟩) = fromCoset ⟨(x * b) • ↑f.range, x * b, rfl⟩ := by
   change ((τ).symm.trans (g x)).trans τ _ = _
   simp only [tau, MonoidHom.coe_mk, Equiv.toFun_as_coe, Equiv.coe_trans, Function.comp_apply]
   rw [Equiv.symm_swap,
-    @Equiv.swap_apply_of_ne_of_ne X' _ (fromCoset ⟨f.range.carrier, ⟨1, one_leftCoset _⟩⟩) ∞
-      (fromCoset ⟨b *l f.range.carrier, ⟨b, rfl⟩⟩) (fromCoset_ne_of_nin_range _ hb) (by simp)]
+    @Equiv.swap_apply_of_ne_of_ne X' _ (fromCoset ⟨f.range, 1, one_leftCoset _⟩) ∞
+      (fromCoset ⟨b • ↑f.range, b, rfl⟩) (fromCoset_ne_of_nin_range _ hb) (by simp)]
   simp only [g_apply_fromCoset, leftCoset_assoc]
   refine' Equiv.swap_apply_of_ne_of_ne (fromCoset_ne_of_nin_range _ fun r => hb _) (by simp)
   convert Subgroup.mul_mem _ (Subgroup.inv_mem _ hx) r
   rw [← mul_assoc, mul_left_inv, one_mul]
 #align Group.surjective_of_epi_auxs.h_apply_fromCoset_nin_range GroupCat.SurjectiveOfEpiAuxs.h_apply_fromCoset_nin_range
 
-theorem agree : f.range.carrier = { x | h x = g x } := by
+theorem agree : f.range = { x | h x = g x } := by
   refine' Set.ext fun b => ⟨_, fun hb : h b = g b => by_contradiction fun r => _⟩
   · rintro ⟨a, rfl⟩
     change h (f a) = g (f a)
@@ -296,21 +293,18 @@ theorem agree : f.range.carrier = { x | h x = g x } := by
     · rw [g_apply_fromCoset]
       by_cases m : y ∈ f.range
       · rw [h_apply_fromCoset' _ _ _ m, fromCoset_eq_of_mem_range _ m]
-        change fromCoset _ = fromCoset ⟨f a *l (y *l _), _⟩
-        simp only [← fromCoset_eq_of_mem_range _ (Subgroup.mul_mem _ ⟨a, rfl⟩ m)]
-        congr
-        rw [leftCoset_assoc _ (f a) y]
+        change fromCoset _ = fromCoset ⟨f a • (y • _), _⟩
+        simp only [← fromCoset_eq_of_mem_range _ (Subgroup.mul_mem _ ⟨a, rfl⟩ m), smul_smul]
       · rw [h_apply_fromCoset_nin_range f (f a) ⟨_, rfl⟩ _ m]
         simp only [leftCoset_assoc]
     · rw [g_apply_infinity, h_apply_infinity f (f a) ⟨_, rfl⟩]
-  · have eq1 : (h b) (fromCoset ⟨f.range.carrier, ⟨1, one_leftCoset _⟩⟩) =
-        fromCoset ⟨f.range.carrier, ⟨1, one_leftCoset _⟩⟩ := by
+  · have eq1 : (h b) (fromCoset ⟨f.range, 1, one_leftCoset _⟩) =
+        fromCoset ⟨f.range, 1, one_leftCoset _⟩ := by
       change ((τ).symm.trans (g b)).trans τ _ = _
       dsimp [tau]
       simp [g_apply_infinity f]
     have eq2 :
-      (g b) (fromCoset ⟨f.range.carrier, ⟨1, one_leftCoset _⟩⟩) =
-        fromCoset ⟨b *l f.range.carrier, ⟨b, rfl⟩⟩ := rfl
+      g b (fromCoset ⟨f.range, 1, one_leftCoset _⟩) = fromCoset ⟨b • ↑f.range, b, rfl⟩ := rfl
     exact (fromCoset_ne_of_nin_range _ r).symm (by rw [← eq1, ← eq2, FunLike.congr_fun hb])
 #align Group.surjective_of_epi_auxs.agree GroupCat.SurjectiveOfEpiAuxs.agree
 
chore: space after (#8178)

Co-authored-by: Moritz Firsching <firsching@google.com>

Diff
@@ -318,7 +318,7 @@ theorem comp_eq : (f ≫ show B ⟶ GroupCat.of SX' from g) = f ≫ show B ⟶ G
   ext a
   change g (f a) = h (f a)
   have : f a ∈ { b | h b = g b } := by
-    rw [←agree]
+    rw [← agree]
     use a
   rw [this]
 #align Group.surjective_of_epi_auxs.comp_eq GroupCat.SurjectiveOfEpiAuxs.comp_eq
chore: change 'Porting:' to 'Porting note:' (#6378)

Co-authored-by: Scott Morrison <scott.morrison@gmail.com>

Diff
@@ -120,7 +120,7 @@ instance : SMul B X' where
     match x with
     | fromCoset y => fromCoset ⟨b *l y, by
           rw [← y.2.choose_spec, leftCoset_assoc]
-          -- Porting: should we make `Bundled.α` reducible?
+          -- Porting note: should we make `Bundled.α` reducible?
           let b' : B := y.2.choose
           use b * b'⟩
     | ∞ => ∞
chore: script to replace headers with #align_import statements (#5979)

Open in Gitpod

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

Diff
@@ -2,15 +2,12 @@
 Copyright (c) 2022 Jujian Zhang. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Jujian Zhang
-
-! This file was ported from Lean 3 source module algebra.category.Group.epi_mono
-! leanprover-community/mathlib commit 70fd9563a21e7b963887c9360bd29b2393e6225a
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathlib.Algebra.Category.GroupCat.EquivalenceGroupAddGroup
 import Mathlib.GroupTheory.QuotientGroup
 
+#align_import algebra.category.Group.epi_mono from "leanprover-community/mathlib"@"70fd9563a21e7b963887c9360bd29b2393e6225a"
+
 /-!
 # Monomorphisms and epimorphisms in `Group`
 In this file, we prove monomorphisms in the category of groups are injective homomorphisms and
chore: cleanup whitespace (#5988)

Grepping for [^ .:{-] [^ :] and reviewing the results. Once I started I couldn't stop. :-)

Co-authored-by: Scott Morrison <scott.morrison@gmail.com>

Diff
@@ -86,7 +86,7 @@ theorem ker_eq_bot_of_mono [Mono f] : f.ker = ⊥ :=
 
 @[to_additive]
 theorem mono_iff_ker_eq_bot : Mono f ↔ f.ker = ⊥ :=
-  ⟨fun _ => ker_eq_bot_of_mono f,  fun h =>
+  ⟨fun _ => ker_eq_bot_of_mono f, fun h =>
     ConcreteCategory.mono_of_injective _ <| (MonoidHom.ker_eq_bot_iff f).1 h⟩
 #align Group.mono_iff_ker_eq_bot GroupCat.mono_iff_ker_eq_bot
 #align AddGroup.mono_iff_ker_eq_bot AddGroupCat.mono_iff_ker_eq_bot
chore: refactor of concrete categories (#3900)

I think the ports

didn't quite get things right, and also have some variation between them. This PR tries to straighten things out.

Major changes:

  • Have the coercion to type be via X.\a, and put attribute @[coe] on this.
  • Make sure the coercion from morphisms to functions means that simp lemmas about the underlying bundled morphisms apply directly.
    • This means we drop lemmas like
    lemma Hom.map_mul {X Y : MonCat} (f : X ⟶ Y) (x y : X) : ((forget MonCat).map f) (x * y) = f x * f y
    
    • But at the expense of adding lemmas like
    lemma coe_comp {X Y Z : MonCat} {f : X ⟶ Y} {g : Y ⟶ Z} : (f ≫ g : X → Z) = g ∘ f := rfl
    

Overall I'm pretty happy, and it allows me to unstick the long stuck https://github.com/leanprover-community/mathlib4/pull/3105.

This is not everything I want to do to refactor these files, but once I was satisfied that I can move forward with RingCat, I want to get this merged so we can unblock porting progress. I'll promise to come back to this soon! :-)

Co-authored-by: Scott Morrison <scott.morrison@gmail.com> Co-authored-by: Scott Morrison <scott.morrison@anu.edu.au>

Diff
@@ -303,7 +303,6 @@ theorem agree : f.range.carrier = { x | h x = g x } := by
         simp only [← fromCoset_eq_of_mem_range _ (Subgroup.mul_mem _ ⟨a, rfl⟩ m)]
         congr
         rw [leftCoset_assoc _ (f a) y]
-        rfl
       · rw [h_apply_fromCoset_nin_range f (f a) ⟨_, rfl⟩ _ m]
         simp only [leftCoset_assoc]
     · rw [g_apply_infinity, h_apply_infinity f (f a) ⟨_, rfl⟩]
@@ -324,7 +323,6 @@ theorem comp_eq : (f ≫ show B ⟶ GroupCat.of SX' from g) = f ≫ show B ⟶ G
   have : f a ∈ { b | h b = g b } := by
     rw [←agree]
     use a
-    rfl
   rw [this]
 #align Group.surjective_of_epi_auxs.comp_eq GroupCat.SurjectiveOfEpiAuxs.comp_eq
 
@@ -353,7 +351,7 @@ theorem surjective_of_epi [Epi f] : Function.Surjective f := by
 #align Group.surjective_of_epi GroupCat.surjective_of_epi
 
 theorem epi_iff_surjective : Epi f ↔ Function.Surjective f :=
-  ⟨fun _ => surjective_of_epi f, ConcreteCategory.epi_of_surjective _⟩
+  ⟨fun _ => surjective_of_epi f, ConcreteCategory.epi_of_surjective f⟩
 #align Group.epi_iff_surjective GroupCat.epi_iff_surjective
 
 theorem epi_iff_range_eq_top : Epi f ↔ f.range = ⊤ :=
@@ -454,8 +452,6 @@ theorem epi_iff_range_eq_top : Epi f ↔ f.range = ⊤ :=
 @[to_additive]
 theorem epi_iff_surjective : Epi f ↔ Function.Surjective f := by
   rw [epi_iff_range_eq_top, MonoidHom.range_top_iff_surjective]
-  -- Porting note: extra rfl forces the issue
-  rfl
 #align CommGroup.epi_iff_surjective CommGroupCat.epi_iff_surjective
 #align AddCommGroup.epi_iff_surjective AddCommGroupCat.epi_iff_surjective
 
@@ -474,4 +470,3 @@ instance forget_commGroupCat_preserves_epi : (forget CommGroupCat).PreservesEpim
 end CommGroupCat
 
 end
-
feat: port Algebra.Category.GroupCat.EpiMono (#3871)

Co-authored-by: Matthew Robert Ballard <100034030+mattrobball@users.noreply.github.com>

Dependencies 8 + 381

382 files ported (97.9%)
151843 lines ported (98.0%)
Show graph

The unported dependencies are