algebra.category.Group.epi_mono
⟷
Mathlib.Algebra.Category.GroupCat.EpiMono
The following section lists changes to this file in mathlib3 and mathlib4 that occured after the initial port. Most recent changes are shown first. Hovering over a commit will show all commits associated with the same mathlib3 commit.
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(last sync)
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -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"
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -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
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -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
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/ce64cd319bb6b3e82f31c2d38e79080d377be451
@@ -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"
mathlib commit https://github.com/leanprover-community/mathlib/commit/8ea5598db6caeddde6cb734aa179cc2408dbd345
@@ -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`
mathlib commit https://github.com/leanprover-community/mathlib/commit/9fb8964792b4237dac6200193a0d533f1b3f7423
@@ -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]
mathlib commit https://github.com/leanprover-community/mathlib/commit/5f25c089cb34db4db112556f23c50d12da81b297
@@ -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)
mathlib commit https://github.com/leanprover-community/mathlib/commit/cca40788df1b8755d5baf17ab2f27dacc2e17acb
@@ -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
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -111,7 +111,7 @@ inductive XWithInfinity
open XWithInfinity Equiv.Perm
-open Coset
+open scoped Coset
-- mathport name: exprX'
local notation "X'" => XWithInfinity f
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -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]
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -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
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/95a87616d63b3cb49d3fe678d416fbe9c4217bf4
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/2f8347015b12b0864dfaf366ec4909eb70c78740
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/2f8347015b12b0864dfaf366ec4909eb70c78740
@@ -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.
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/28b2a92f2996d28e580450863c130955de0ed398
@@ -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.
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/2f8347015b12b0864dfaf366ec4909eb70c78740
@@ -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.
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/cc5dd6244981976cc9da7afc4eee5682b037a013
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/bd9851ca476957ea4549eb19b40e7b5ade9428cc
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>
@@ -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,
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.
@@ -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
@@ -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
@@ -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'⟩
| ∞ => ∞
@@ -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
@@ -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
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:
X.\a
, and put attribute @[coe]
on this.lemma Hom.map_mul {X Y : MonCat} (f : X ⟶ Y) (x y : X) : ((forget MonCat).map f) (x * y) = f x * f y
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>
@@ -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
-
The unported dependencies are