algebra.category.Group.colimits
⟷
Mathlib.Algebra.Category.GroupCat.Colimits
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) 2019 Scott Morrison. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Scott Morrison
-/
-import Algebra.Category.Group.Preadditive
+import Algebra.Category.GroupCat.Preadditive
import GroupTheory.QuotientGroup
import CategoryTheory.Limits.Shapes.Kernels
import CategoryTheory.ConcreteCategory.Elementwise
mathlib commit https://github.com/leanprover-community/mathlib/commit/ce64cd319bb6b3e82f31c2d38e79080d377be451
@@ -3,10 +3,10 @@ Copyright (c) 2019 Scott Morrison. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Scott Morrison
-/
-import Mathbin.Algebra.Category.Group.Preadditive
-import Mathbin.GroupTheory.QuotientGroup
-import Mathbin.CategoryTheory.Limits.Shapes.Kernels
-import Mathbin.CategoryTheory.ConcreteCategory.Elementwise
+import Algebra.Category.Group.Preadditive
+import GroupTheory.QuotientGroup
+import CategoryTheory.Limits.Shapes.Kernels
+import CategoryTheory.ConcreteCategory.Elementwise
#align_import algebra.category.Group.colimits from "leanprover-community/mathlib"@"0b7c740e25651db0ba63648fbae9f9d6f941e31b"
mathlib commit https://github.com/leanprover-community/mathlib/commit/442a83d738cb208d3600056c489be16900ba701d
@@ -47,7 +47,6 @@ and the identifications given by the morphisms in the diagram.
variable {J : Type v} [SmallCategory J] (F : J ⥤ AddCommGroupCat.{v})
-#print AddCommGroupCat.Colimits.Prequotient /-
/-- An inductive type representing all group expressions (without relations)
on a collection of types indexed by the objects of `J`.
-/
@@ -58,15 +57,13 @@ inductive Prequotient-- There's always `of`
| zero : prequotient
| neg : prequotient → prequotient
| add : prequotient → prequotient → prequotient
-#align AddCommGroup.colimits.prequotient AddCommGroupCat.Colimits.Prequotient
--/
+#align AddCommGroup.colimits.prequotient AddCommGroupCat.Colimits.Prequotientₓ
instance : Inhabited (Prequotient F) :=
⟨Prequotient.zero⟩
open Prequotient
-#print AddCommGroupCat.Colimits.Relation /-
/-- The relation on `prequotient` saying when two expressions are equal
because of the abelian group laws, or
because one element is mapped to another by a morphism in the diagram.
@@ -103,8 +100,7 @@ inductive Relation : Prequotient F → Prequotient F → Prop-- Make it an equiv
| add_left_neg : ∀ x, relation (add (neg x) x) zero
| add_comm : ∀ x y, relation (add x y) (add y x)
| add_assoc : ∀ x y z, relation (add (add x y) z) (add x (add y z))
-#align AddCommGroup.colimits.relation AddCommGroupCat.Colimits.Relation
--/
+#align AddCommGroup.colimits.relation AddCommGroupCat.Colimits.Relationₓ
#print AddCommGroupCat.Colimits.colimitSetoid /-
/--
@@ -348,15 +344,15 @@ def colimitCoconeIsColimit : IsColimit (colimitCocone F)
#align AddCommGroup.colimits.colimit_cocone_is_colimit AddCommGroupCat.Colimits.colimitCoconeIsColimit
-/
-#print AddCommGroupCat.Colimits.hasColimits_addCommGroupCat /-
-instance hasColimits_addCommGroupCat : HasColimits AddCommGroupCat
+#print AddCommGroupCat.hasColimits /-
+instance AddCommGroupCat.hasColimits : HasColimits AddCommGroupCat
where HasColimitsOfShape J 𝒥 :=
{
HasColimit := fun F =>
has_colimit.mk
{ Cocone := colimit_cocone F
IsColimit := colimit_cocone_is_colimit F } }
-#align AddCommGroup.colimits.has_colimits_AddCommGroup AddCommGroupCat.Colimits.hasColimits_addCommGroupCat
+#align AddCommGroup.colimits.has_colimits_AddCommGroup AddCommGroupCat.hasColimits
-/
end AddCommGroupCat.Colimits
mathlib commit https://github.com/leanprover-community/mathlib/commit/8ea5598db6caeddde6cb734aa179cc2408dbd345
@@ -2,17 +2,14 @@
Copyright (c) 2019 Scott Morrison. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Scott Morrison
-
-! This file was ported from Lean 3 source module algebra.category.Group.colimits
-! leanprover-community/mathlib commit 0b7c740e25651db0ba63648fbae9f9d6f941e31b
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
-/
import Mathbin.Algebra.Category.Group.Preadditive
import Mathbin.GroupTheory.QuotientGroup
import Mathbin.CategoryTheory.Limits.Shapes.Kernels
import Mathbin.CategoryTheory.ConcreteCategory.Elementwise
+#align_import algebra.category.Group.colimits from "leanprover-community/mathlib"@"0b7c740e25651db0ba63648fbae9f9d6f941e31b"
+
/-!
# The category of additive commutative groups has all colimits.
mathlib commit https://github.com/leanprover-community/mathlib/commit/9fb8964792b4237dac6200193a0d533f1b3f7423
@@ -194,21 +194,27 @@ instance : AddCommGroup (ColimitType F)
rfl
rfl
+#print AddCommGroupCat.Colimits.quot_zero /-
@[simp]
theorem quot_zero : Quot.mk Setoid.r zero = (0 : ColimitType F) :=
rfl
#align AddCommGroup.colimits.quot_zero AddCommGroupCat.Colimits.quot_zero
+-/
+#print AddCommGroupCat.Colimits.quot_neg /-
@[simp]
theorem quot_neg (x) : Quot.mk Setoid.r (neg x) = (-Quot.mk Setoid.r x : ColimitType F) :=
rfl
#align AddCommGroup.colimits.quot_neg AddCommGroupCat.Colimits.quot_neg
+-/
+#print AddCommGroupCat.Colimits.quot_add /-
@[simp]
theorem quot_add (x y) :
Quot.mk Setoid.r (add x y) = (Quot.mk Setoid.r x + Quot.mk Setoid.r y : ColimitType F) :=
rfl
#align AddCommGroup.colimits.quot_add AddCommGroupCat.Colimits.quot_add
+-/
#print AddCommGroupCat.Colimits.colimit /-
/-- The bundled abelian group giving the colimit of a diagram. -/
@@ -217,11 +223,14 @@ def colimit : AddCommGroupCat :=
#align AddCommGroup.colimits.colimit AddCommGroupCat.Colimits.colimit
-/
+#print AddCommGroupCat.Colimits.coconeFun /-
/-- The function from a given abelian group in the diagram to the colimit abelian group. -/
def coconeFun (j : J) (x : F.obj j) : ColimitType F :=
Quot.mk _ (of j x)
#align AddCommGroup.colimits.cocone_fun AddCommGroupCat.Colimits.coconeFun
+-/
+#print AddCommGroupCat.Colimits.coconeMorphism /-
/-- The group homomorphism from a given abelian group in the diagram to the colimit abelian
group. -/
def coconeMorphism (j : J) : F.obj j ⟶ colimit F
@@ -230,7 +239,9 @@ def coconeMorphism (j : J) : F.obj j ⟶ colimit F
map_zero' := by apply Quot.sound <;> apply relation.zero
map_add' := by intros <;> apply Quot.sound <;> apply relation.add
#align AddCommGroup.colimits.cocone_morphism AddCommGroupCat.Colimits.coconeMorphism
+-/
+#print AddCommGroupCat.Colimits.cocone_naturality /-
@[simp]
theorem cocone_naturality {j j' : J} (f : j ⟶ j') :
F.map f ≫ coconeMorphism F j' = coconeMorphism F j :=
@@ -239,12 +250,15 @@ theorem cocone_naturality {j j' : J} (f : j ⟶ j') :
apply Quot.sound
apply Relation.Map
#align AddCommGroup.colimits.cocone_naturality AddCommGroupCat.Colimits.cocone_naturality
+-/
+#print AddCommGroupCat.Colimits.cocone_naturality_components /-
@[simp]
theorem cocone_naturality_components (j j' : J) (f : j ⟶ j') (x : F.obj j) :
(coconeMorphism F j') (F.map f x) = (coconeMorphism F j) x := by rw [← cocone_naturality F f];
rfl
#align AddCommGroup.colimits.cocone_naturality_components AddCommGroupCat.Colimits.cocone_naturality_components
+-/
#print AddCommGroupCat.Colimits.colimitCocone /-
/-- The cocone over the proposed colimit abelian group. -/
@@ -354,6 +368,7 @@ namespace AddCommGroupCat
open quotientAddGroup
+#print AddCommGroupCat.cokernelIsoQuotient /-
/-- The categorical cokernel of a morphism in `AddCommGroup`
agrees with the usual group-theoretical quotient.
-/
@@ -378,6 +393,7 @@ noncomputable def cokernelIsoQuotient {G H : AddCommGroupCat.{u}} (f : G ⟶ H)
simp only [AddMonoidHom.coe_comp, Function.comp_apply, comp_apply, lift_mk,
cokernel.π_desc_apply, mk'_apply, id_apply]
#align AddCommGroup.cokernel_iso_quotient AddCommGroupCat.cokernelIsoQuotient
+-/
end AddCommGroupCat
mathlib commit https://github.com/leanprover-community/mathlib/commit/cca40788df1b8755d5baf17ab2f27dacc2e17acb
@@ -126,7 +126,8 @@ attribute [instance] colimit_setoid
/-- The underlying type of the colimit of a diagram in `AddCommGroup`.
-/
def ColimitType : Type v :=
- Quotient (colimitSetoid F)deriving Inhabited
+ Quotient (colimitSetoid F)
+deriving Inhabited
#align AddCommGroup.colimits.colimit_type AddCommGroupCat.Colimits.ColimitType
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -193,34 +193,16 @@ instance : AddCommGroup (ColimitType F)
rfl
rfl
-/- warning: AddCommGroup.colimits.quot_zero -> AddCommGroupCat.Colimits.quot_zero is a dubious translation:
-lean 3 declaration is
- forall {J : Type.{u1}} [_inst_1 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1}), Eq.{succ u1} (Quot.{succ u1} (AddCommGroupCat.Colimits.Prequotient.{u1} J _inst_1 F) (Setoid.r.{succ u1} (AddCommGroupCat.Colimits.Prequotient.{u1} J _inst_1 F) (AddCommGroupCat.Colimits.colimitSetoid.{u1} J _inst_1 F))) (Quot.mk.{succ u1} (AddCommGroupCat.Colimits.Prequotient.{u1} J _inst_1 F) (Setoid.r.{succ u1} (AddCommGroupCat.Colimits.Prequotient.{u1} J _inst_1 F) (AddCommGroupCat.Colimits.colimitSetoid.{u1} J _inst_1 F)) (AddCommGroupCat.Colimits.Prequotient.zero.{u1} J _inst_1 F)) (OfNat.ofNat.{u1} (AddCommGroupCat.Colimits.ColimitType.{u1} J _inst_1 F) 0 (OfNat.mk.{u1} (AddCommGroupCat.Colimits.ColimitType.{u1} J _inst_1 F) 0 (Zero.zero.{u1} (AddCommGroupCat.Colimits.ColimitType.{u1} J _inst_1 F) (AddZeroClass.toHasZero.{u1} (AddCommGroupCat.Colimits.ColimitType.{u1} J _inst_1 F) (AddMonoid.toAddZeroClass.{u1} (AddCommGroupCat.Colimits.ColimitType.{u1} J _inst_1 F) (SubNegMonoid.toAddMonoid.{u1} (AddCommGroupCat.Colimits.ColimitType.{u1} J _inst_1 F) (AddGroup.toSubNegMonoid.{u1} (AddCommGroupCat.Colimits.ColimitType.{u1} J _inst_1 F) (AddCommGroup.toAddGroup.{u1} (AddCommGroupCat.Colimits.ColimitType.{u1} J _inst_1 F) (AddCommGroupCat.Colimits.ColimitType.addCommGroup.{u1} J _inst_1 F)))))))))
-but is expected to have type
- forall {J : Type.{u1}} [_inst_1 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1}), Eq.{succ u1} (Quot.{succ u1} (AddCommGroupCat.Colimits.Prequotient.{u1} J _inst_1 F) (Setoid.r.{succ u1} (AddCommGroupCat.Colimits.Prequotient.{u1} J _inst_1 F) (AddCommGroupCat.Colimits.colimitSetoid.{u1} J _inst_1 F))) (Quot.mk.{succ u1} (AddCommGroupCat.Colimits.Prequotient.{u1} J _inst_1 F) (Setoid.r.{succ u1} (AddCommGroupCat.Colimits.Prequotient.{u1} J _inst_1 F) (AddCommGroupCat.Colimits.colimitSetoid.{u1} J _inst_1 F)) (AddCommGroupCat.Colimits.Prequotient.zero.{u1} J _inst_1 F)) (OfNat.ofNat.{u1} (AddCommGroupCat.Colimits.ColimitType.{u1} J _inst_1 F) 0 (Zero.toOfNat0.{u1} (AddCommGroupCat.Colimits.ColimitType.{u1} J _inst_1 F) (NegZeroClass.toZero.{u1} (AddCommGroupCat.Colimits.ColimitType.{u1} J _inst_1 F) (SubNegZeroMonoid.toNegZeroClass.{u1} (AddCommGroupCat.Colimits.ColimitType.{u1} J _inst_1 F) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (AddCommGroupCat.Colimits.ColimitType.{u1} J _inst_1 F) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (AddCommGroupCat.Colimits.ColimitType.{u1} J _inst_1 F) (AddCommGroup.toDivisionAddCommMonoid.{u1} (AddCommGroupCat.Colimits.ColimitType.{u1} J _inst_1 F) (AddCommGroupCat.Colimits.instAddCommGroupColimitType.{u1} J _inst_1 F))))))))
-Case conversion may be inaccurate. Consider using '#align AddCommGroup.colimits.quot_zero AddCommGroupCat.Colimits.quot_zeroₓ'. -/
@[simp]
theorem quot_zero : Quot.mk Setoid.r zero = (0 : ColimitType F) :=
rfl
#align AddCommGroup.colimits.quot_zero AddCommGroupCat.Colimits.quot_zero
-/- warning: AddCommGroup.colimits.quot_neg -> AddCommGroupCat.Colimits.quot_neg is a dubious translation:
-lean 3 declaration is
- forall {J : Type.{u1}} [_inst_1 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1}) (x : AddCommGroupCat.Colimits.Prequotient.{u1} J _inst_1 F), Eq.{succ u1} (Quot.{succ u1} (AddCommGroupCat.Colimits.Prequotient.{u1} J _inst_1 F) (Setoid.r.{succ u1} (AddCommGroupCat.Colimits.Prequotient.{u1} J _inst_1 F) (AddCommGroupCat.Colimits.colimitSetoid.{u1} J _inst_1 F))) (Quot.mk.{succ u1} (AddCommGroupCat.Colimits.Prequotient.{u1} J _inst_1 F) (Setoid.r.{succ u1} (AddCommGroupCat.Colimits.Prequotient.{u1} J _inst_1 F) (AddCommGroupCat.Colimits.colimitSetoid.{u1} J _inst_1 F)) (AddCommGroupCat.Colimits.Prequotient.neg.{u1} J _inst_1 F x)) (Neg.neg.{u1} (AddCommGroupCat.Colimits.ColimitType.{u1} J _inst_1 F) (SubNegMonoid.toHasNeg.{u1} (AddCommGroupCat.Colimits.ColimitType.{u1} J _inst_1 F) (AddGroup.toSubNegMonoid.{u1} (AddCommGroupCat.Colimits.ColimitType.{u1} J _inst_1 F) (AddCommGroup.toAddGroup.{u1} (AddCommGroupCat.Colimits.ColimitType.{u1} J _inst_1 F) (AddCommGroupCat.Colimits.ColimitType.addCommGroup.{u1} J _inst_1 F)))) (Quot.mk.{succ u1} (AddCommGroupCat.Colimits.Prequotient.{u1} J _inst_1 F) (Setoid.r.{succ u1} (AddCommGroupCat.Colimits.Prequotient.{u1} J _inst_1 F) (AddCommGroupCat.Colimits.colimitSetoid.{u1} J _inst_1 F)) x))
-but is expected to have type
- forall {J : Type.{u1}} [_inst_1 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1}) (x : AddCommGroupCat.Colimits.Prequotient.{u1} J _inst_1 F), Eq.{succ u1} (Quot.{succ u1} (AddCommGroupCat.Colimits.Prequotient.{u1} J _inst_1 F) (Setoid.r.{succ u1} (AddCommGroupCat.Colimits.Prequotient.{u1} J _inst_1 F) (AddCommGroupCat.Colimits.colimitSetoid.{u1} J _inst_1 F))) (Quot.mk.{succ u1} (AddCommGroupCat.Colimits.Prequotient.{u1} J _inst_1 F) (Setoid.r.{succ u1} (AddCommGroupCat.Colimits.Prequotient.{u1} J _inst_1 F) (AddCommGroupCat.Colimits.colimitSetoid.{u1} J _inst_1 F)) (AddCommGroupCat.Colimits.Prequotient.neg.{u1} J _inst_1 F x)) (Neg.neg.{u1} (AddCommGroupCat.Colimits.ColimitType.{u1} J _inst_1 F) (NegZeroClass.toNeg.{u1} (AddCommGroupCat.Colimits.ColimitType.{u1} J _inst_1 F) (SubNegZeroMonoid.toNegZeroClass.{u1} (AddCommGroupCat.Colimits.ColimitType.{u1} J _inst_1 F) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (AddCommGroupCat.Colimits.ColimitType.{u1} J _inst_1 F) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (AddCommGroupCat.Colimits.ColimitType.{u1} J _inst_1 F) (AddCommGroup.toDivisionAddCommMonoid.{u1} (AddCommGroupCat.Colimits.ColimitType.{u1} J _inst_1 F) (AddCommGroupCat.Colimits.instAddCommGroupColimitType.{u1} J _inst_1 F)))))) (Quot.mk.{succ u1} (AddCommGroupCat.Colimits.Prequotient.{u1} J _inst_1 F) (Setoid.r.{succ u1} (AddCommGroupCat.Colimits.Prequotient.{u1} J _inst_1 F) (AddCommGroupCat.Colimits.colimitSetoid.{u1} J _inst_1 F)) x))
-Case conversion may be inaccurate. Consider using '#align AddCommGroup.colimits.quot_neg AddCommGroupCat.Colimits.quot_negₓ'. -/
@[simp]
theorem quot_neg (x) : Quot.mk Setoid.r (neg x) = (-Quot.mk Setoid.r x : ColimitType F) :=
rfl
#align AddCommGroup.colimits.quot_neg AddCommGroupCat.Colimits.quot_neg
-/- warning: AddCommGroup.colimits.quot_add -> AddCommGroupCat.Colimits.quot_add is a dubious translation:
-lean 3 declaration is
- forall {J : Type.{u1}} [_inst_1 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1}) (x : AddCommGroupCat.Colimits.Prequotient.{u1} J _inst_1 F) (y : AddCommGroupCat.Colimits.Prequotient.{u1} J _inst_1 F), Eq.{succ u1} (Quot.{succ u1} (AddCommGroupCat.Colimits.Prequotient.{u1} J _inst_1 F) (Setoid.r.{succ u1} (AddCommGroupCat.Colimits.Prequotient.{u1} J _inst_1 F) (AddCommGroupCat.Colimits.colimitSetoid.{u1} J _inst_1 F))) (Quot.mk.{succ u1} (AddCommGroupCat.Colimits.Prequotient.{u1} J _inst_1 F) (Setoid.r.{succ u1} (AddCommGroupCat.Colimits.Prequotient.{u1} J _inst_1 F) (AddCommGroupCat.Colimits.colimitSetoid.{u1} J _inst_1 F)) (AddCommGroupCat.Colimits.Prequotient.add.{u1} J _inst_1 F x y)) (HAdd.hAdd.{u1, u1, u1} (AddCommGroupCat.Colimits.ColimitType.{u1} J _inst_1 F) (AddCommGroupCat.Colimits.ColimitType.{u1} J _inst_1 F) (AddCommGroupCat.Colimits.ColimitType.{u1} J _inst_1 F) (instHAdd.{u1} (AddCommGroupCat.Colimits.ColimitType.{u1} J _inst_1 F) (AddZeroClass.toHasAdd.{u1} (AddCommGroupCat.Colimits.ColimitType.{u1} J _inst_1 F) (AddMonoid.toAddZeroClass.{u1} (AddCommGroupCat.Colimits.ColimitType.{u1} J _inst_1 F) (SubNegMonoid.toAddMonoid.{u1} (AddCommGroupCat.Colimits.ColimitType.{u1} J _inst_1 F) (AddGroup.toSubNegMonoid.{u1} (AddCommGroupCat.Colimits.ColimitType.{u1} J _inst_1 F) (AddCommGroup.toAddGroup.{u1} (AddCommGroupCat.Colimits.ColimitType.{u1} J _inst_1 F) (AddCommGroupCat.Colimits.ColimitType.addCommGroup.{u1} J _inst_1 F))))))) (Quot.mk.{succ u1} (AddCommGroupCat.Colimits.Prequotient.{u1} J _inst_1 F) (Setoid.r.{succ u1} (AddCommGroupCat.Colimits.Prequotient.{u1} J _inst_1 F) (AddCommGroupCat.Colimits.colimitSetoid.{u1} J _inst_1 F)) x) (Quot.mk.{succ u1} (AddCommGroupCat.Colimits.Prequotient.{u1} J _inst_1 F) (Setoid.r.{succ u1} (AddCommGroupCat.Colimits.Prequotient.{u1} J _inst_1 F) (AddCommGroupCat.Colimits.colimitSetoid.{u1} J _inst_1 F)) y))
-but is expected to have type
- forall {J : Type.{u1}} [_inst_1 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1}) (x : AddCommGroupCat.Colimits.Prequotient.{u1} J _inst_1 F) (y : AddCommGroupCat.Colimits.Prequotient.{u1} J _inst_1 F), Eq.{succ u1} (Quot.{succ u1} (AddCommGroupCat.Colimits.Prequotient.{u1} J _inst_1 F) (Setoid.r.{succ u1} (AddCommGroupCat.Colimits.Prequotient.{u1} J _inst_1 F) (AddCommGroupCat.Colimits.colimitSetoid.{u1} J _inst_1 F))) (Quot.mk.{succ u1} (AddCommGroupCat.Colimits.Prequotient.{u1} J _inst_1 F) (Setoid.r.{succ u1} (AddCommGroupCat.Colimits.Prequotient.{u1} J _inst_1 F) (AddCommGroupCat.Colimits.colimitSetoid.{u1} J _inst_1 F)) (AddCommGroupCat.Colimits.Prequotient.add.{u1} J _inst_1 F x y)) (Add.add.{u1} (AddCommGroupCat.Colimits.ColimitType.{u1} J _inst_1 F) (AddZeroClass.toAdd.{u1} (AddCommGroupCat.Colimits.ColimitType.{u1} J _inst_1 F) (AddMonoid.toAddZeroClass.{u1} (AddCommGroupCat.Colimits.ColimitType.{u1} J _inst_1 F) (SubNegMonoid.toAddMonoid.{u1} (AddCommGroupCat.Colimits.ColimitType.{u1} J _inst_1 F) (AddGroup.toSubNegMonoid.{u1} (AddCommGroupCat.Colimits.ColimitType.{u1} J _inst_1 F) (AddCommGroup.toAddGroup.{u1} (AddCommGroupCat.Colimits.ColimitType.{u1} J _inst_1 F) (AddCommGroupCat.Colimits.instAddCommGroupColimitType.{u1} J _inst_1 F)))))) (Quot.mk.{succ u1} (AddCommGroupCat.Colimits.Prequotient.{u1} J _inst_1 F) (Setoid.r.{succ u1} (AddCommGroupCat.Colimits.Prequotient.{u1} J _inst_1 F) (AddCommGroupCat.Colimits.colimitSetoid.{u1} J _inst_1 F)) x) (Quot.mk.{succ u1} (AddCommGroupCat.Colimits.Prequotient.{u1} J _inst_1 F) (Setoid.r.{succ u1} (AddCommGroupCat.Colimits.Prequotient.{u1} J _inst_1 F) (AddCommGroupCat.Colimits.colimitSetoid.{u1} J _inst_1 F)) y))
-Case conversion may be inaccurate. Consider using '#align AddCommGroup.colimits.quot_add AddCommGroupCat.Colimits.quot_addₓ'. -/
@[simp]
theorem quot_add (x y) :
Quot.mk Setoid.r (add x y) = (Quot.mk Setoid.r x + Quot.mk Setoid.r y : ColimitType F) :=
@@ -234,23 +216,11 @@ def colimit : AddCommGroupCat :=
#align AddCommGroup.colimits.colimit AddCommGroupCat.Colimits.colimit
-/
-/- warning: AddCommGroup.colimits.cocone_fun -> AddCommGroupCat.Colimits.coconeFun is a dubious translation:
-lean 3 declaration is
- forall {J : Type.{u1}} [_inst_1 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1}) (j : J), (coeSort.{succ (succ u1), succ (succ u1)} AddCommGroupCat.{u1} Type.{u1} AddCommGroupCat.hasCoeToSort.{u1} (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} F j)) -> (AddCommGroupCat.Colimits.ColimitType.{u1} J _inst_1 F)
-but is expected to have type
- forall {J : Type.{u1}} [_inst_1 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1}) (j : J), (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) -> (AddCommGroupCat.Colimits.ColimitType.{u1} J _inst_1 F)
-Case conversion may be inaccurate. Consider using '#align AddCommGroup.colimits.cocone_fun AddCommGroupCat.Colimits.coconeFunₓ'. -/
/-- The function from a given abelian group in the diagram to the colimit abelian group. -/
def coconeFun (j : J) (x : F.obj j) : ColimitType F :=
Quot.mk _ (of j x)
#align AddCommGroup.colimits.cocone_fun AddCommGroupCat.Colimits.coconeFun
-/- warning: AddCommGroup.colimits.cocone_morphism -> AddCommGroupCat.Colimits.coconeMorphism is a dubious translation:
-lean 3 declaration is
- forall {J : Type.{u1}} [_inst_1 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1}) (j : J), Quiver.Hom.{succ u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1})) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} F j) (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)
-but is expected to have type
- forall {J : Type.{u1}} [_inst_1 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1}) (j : J), Quiver.Hom.{succ u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j) (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)
-Case conversion may be inaccurate. Consider using '#align AddCommGroup.colimits.cocone_morphism AddCommGroupCat.Colimits.coconeMorphismₓ'. -/
/-- The group homomorphism from a given abelian group in the diagram to the colimit abelian
group. -/
def coconeMorphism (j : J) : F.obj j ⟶ colimit F
@@ -260,12 +230,6 @@ def coconeMorphism (j : J) : F.obj j ⟶ colimit F
map_add' := by intros <;> apply Quot.sound <;> apply relation.add
#align AddCommGroup.colimits.cocone_morphism AddCommGroupCat.Colimits.coconeMorphism
-/- warning: AddCommGroup.colimits.cocone_naturality -> AddCommGroupCat.Colimits.cocone_naturality is a dubious translation:
-lean 3 declaration is
- forall {J : Type.{u1}} [_inst_1 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1}) {j : J} {j' : J} (f : Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) j j'), Eq.{succ u1} (Quiver.Hom.{succ u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1})) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} F j) (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (CategoryTheory.CategoryStruct.comp.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1}) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} F j) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} F j') (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F) (CategoryTheory.Functor.map.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} F j j' f) (AddCommGroupCat.Colimits.coconeMorphism.{u1} J _inst_1 F j')) (AddCommGroupCat.Colimits.coconeMorphism.{u1} J _inst_1 F j)
-but is expected to have type
- forall {J : Type.{u1}} [_inst_1 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1}) {j : J} {j' : J} (f : Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) j j'), Eq.{succ u1} (Quiver.Hom.{succ u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j) (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (CategoryTheory.CategoryStruct.comp.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1}) (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j) (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j') (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F) (Prefunctor.map.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j j' f) (AddCommGroupCat.Colimits.coconeMorphism.{u1} J _inst_1 F j')) (AddCommGroupCat.Colimits.coconeMorphism.{u1} J _inst_1 F j)
-Case conversion may be inaccurate. Consider using '#align AddCommGroup.colimits.cocone_naturality AddCommGroupCat.Colimits.cocone_naturalityₓ'. -/
@[simp]
theorem cocone_naturality {j j' : J} (f : j ⟶ j') :
F.map f ≫ coconeMorphism F j' = coconeMorphism F j :=
@@ -275,9 +239,6 @@ theorem cocone_naturality {j j' : J} (f : j ⟶ j') :
apply Relation.Map
#align AddCommGroup.colimits.cocone_naturality AddCommGroupCat.Colimits.cocone_naturality
-/- warning: AddCommGroup.colimits.cocone_naturality_components -> AddCommGroupCat.Colimits.cocone_naturality_components is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align AddCommGroup.colimits.cocone_naturality_components AddCommGroupCat.Colimits.cocone_naturality_componentsₓ'. -/
@[simp]
theorem cocone_naturality_components (j j' : J) (f : j ⟶ j') (x : F.obj j) :
(coconeMorphism F j') (F.map f x) = (coconeMorphism F j) x := by rw [← cocone_naturality F f];
@@ -392,12 +353,6 @@ namespace AddCommGroupCat
open quotientAddGroup
-/- warning: AddCommGroup.cokernel_iso_quotient -> AddCommGroupCat.cokernelIsoQuotient is a dubious translation:
-lean 3 declaration is
- forall {G : AddCommGroupCat.{u1}} {H : AddCommGroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1})) G H), CategoryTheory.Iso.{u1, succ u1} AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} (CategoryTheory.Limits.cokernel.{u1, succ u1} AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, succ u1} AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} AddCommGroupCat.CategoryTheory.preadditive.{u1}) G H f (AddCommGroupCat.cokernelIsoQuotient._proof_1.{u1} G H f)) (AddCommGroupCat.of.{u1} (HasQuotient.Quotient.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} AddCommGroupCat.{u1} Type.{u1} AddCommGroupCat.hasCoeToSort.{u1} H) (AddSubgroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) H) (AddCommGroup.toAddGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) H) (AddCommGroupCat.addCommGroupInstance.{u1} H))) (quotientAddGroup.Subgroup.hasQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) H) (AddCommGroup.toAddGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) H) (AddCommGroupCat.addCommGroupInstance.{u1} H))) (AddMonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) G) (AddCommGroup.toAddGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) G) (AddCommGroupCat.addCommGroupInstance.{u1} G)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) H) (AddCommGroup.toAddGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) H) (AddCommGroupCat.addCommGroupInstance.{u1} H)) f)) (QuotientAddGroup.Quotient.addCommGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} AddCommGroupCat.{u1} Type.{u1} AddCommGroupCat.hasCoeToSort.{u1} H) (AddCommGroupCat.addCommGroupInstance.{u1} H) (AddMonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) G) (AddCommGroup.toAddGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) G) (AddCommGroupCat.addCommGroupInstance.{u1} G)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) H) (AddCommGroup.toAddGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) H) (AddCommGroupCat.addCommGroupInstance.{u1} H)) f)))
-but is expected to have type
- forall {G : AddCommGroupCat.{u1}} {H : AddCommGroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) G H), CategoryTheory.Iso.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} (CategoryTheory.Limits.cokernel.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} AddCommGroupCat.instPreadditiveAddCommGroupCatInstAddCommGroupCatLargeCategory.{u1}) G H f (CategoryTheory.Limits.HasCokernels.has_colimit.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} AddCommGroupCat.instPreadditiveAddCommGroupCatInstAddCommGroupCatLargeCategory.{u1}) (CategoryTheory.Limits.hasCokernels_of_hasCoequalizers.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} AddCommGroupCat.instPreadditiveAddCommGroupCatInstAddCommGroupCatLargeCategory.{u1}) (CategoryTheory.Limits.hasColimitsOfShapeOfHasColimitsOfSize.{0, 0, u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} CategoryTheory.Limits.WalkingParallelPair CategoryTheory.Limits.walkingParallelPairHomCategory (CategoryTheory.Limits.hasSmallestColimitsOfHasColimits.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} AddCommGroupCat.Colimits.hasColimits_addCommGroupCat.{u1}))) G H f)) (AddCommGroupCat.of.{u1} (HasQuotient.Quotient.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} H) (AddSubgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} H) (AddCommGroup.toAddGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} H) (AddCommGroupCat.addCommGroupInstance.{u1} H))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} H) (AddCommGroup.toAddGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} H) (AddCommGroupCat.addCommGroupInstance.{u1} H))) (AddMonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} G) (AddCommGroup.toAddGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} G) (AddCommGroupCat.addCommGroupInstance.{u1} G)) (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} H) (AddCommGroup.toAddGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} H) (AddCommGroupCat.addCommGroupInstance.{u1} H)) f)) (QuotientAddGroup.Quotient.addCommGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} H) (AddCommGroupCat.addCommGroupInstance.{u1} H) (AddMonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} G) (AddCommGroup.toAddGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} G) (AddCommGroupCat.addCommGroupInstance.{u1} G)) (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} H) (AddCommGroup.toAddGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} H) (AddCommGroupCat.addCommGroupInstance.{u1} H)) f)))
-Case conversion may be inaccurate. Consider using '#align AddCommGroup.cokernel_iso_quotient AddCommGroupCat.cokernelIsoQuotientₓ'. -/
/-- The categorical cokernel of a morphism in `AddCommGroup`
agrees with the usual group-theoretical quotient.
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -280,9 +280,7 @@ theorem cocone_naturality {j j' : J} (f : j ⟶ j') :
Case conversion may be inaccurate. Consider using '#align AddCommGroup.colimits.cocone_naturality_components AddCommGroupCat.Colimits.cocone_naturality_componentsₓ'. -/
@[simp]
theorem cocone_naturality_components (j j' : J) (f : j ⟶ j') (x : F.obj j) :
- (coconeMorphism F j') (F.map f x) = (coconeMorphism F j) x :=
- by
- rw [← cocone_naturality F f]
+ (coconeMorphism F j') (F.map f x) = (coconeMorphism F j) x := by rw [← cocone_naturality F f];
rfl
#align AddCommGroup.colimits.cocone_naturality_components AddCommGroupCat.Colimits.cocone_naturality_components
@@ -409,18 +407,12 @@ noncomputable def cokernelIsoQuotient {G H : AddCommGroupCat.{u}} (f : G ⟶ H)
Hom :=
cokernel.desc f (mk' _)
(by
- ext
- apply Quotient.sound
- apply left_rel_apply.mpr
- fconstructor
- exact -x
+ ext; apply Quotient.sound; apply left_rel_apply.mpr; fconstructor; exact -x
simp only [add_zero, AddMonoidHom.map_neg])
inv :=
QuotientAddGroup.lift _ (cokernel.π f)
(by
- intro x H_1
- cases H_1
- induction H_1_h
+ intro x H_1; cases H_1; induction H_1_h
simp only [cokernel.condition_apply, zero_apply])
-- obviously can take care of the next goals, but it is really slow
hom_inv_id' := by ext1;
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
Authors: Scott Morrison
! This file was ported from Lean 3 source module algebra.category.Group.colimits
-! leanprover-community/mathlib commit 70fd9563a21e7b963887c9360bd29b2393e6225a
+! leanprover-community/mathlib commit 0b7c740e25651db0ba63648fbae9f9d6f941e31b
! Please do not edit these lines, except to modify the commit id
! if you have ported upstream changes.
-/
@@ -16,6 +16,9 @@ import Mathbin.CategoryTheory.ConcreteCategory.Elementwise
/-!
# The category of additive commutative groups has all colimits.
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
This file uses a "pre-automated" approach, just as for `Mon/colimits.lean`.
It is a very uniform approach, that conceivably could be synthesised directly
by a tactic that analyses the shape of `add_comm_group` and `monoid_hom`.
@@ -273,10 +276,7 @@ theorem cocone_naturality {j j' : J} (f : j ⟶ j') :
#align AddCommGroup.colimits.cocone_naturality AddCommGroupCat.Colimits.cocone_naturality
/- warning: AddCommGroup.colimits.cocone_naturality_components -> AddCommGroupCat.Colimits.cocone_naturality_components is a dubious translation:
-lean 3 declaration is
- forall {J : Type.{u1}} [_inst_1 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1}) (j : J) (j' : J) (f : Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) j j') (x : coeSort.{succ (succ u1), succ (succ u1)} AddCommGroupCat.{u1} Type.{u1} AddCommGroupCat.hasCoeToSort.{u1} (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} F j)), Eq.{succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1})) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} F j') (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (fun (_x : AddMonoidHom.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} F j')) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddMonoid.toAddZeroClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} F j')) (AddGroup.toAddMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} F j')) (AddCommGroup.toAddGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} F j')) (CategoryTheory.Bundled.str.{u1, u1} AddCommGroup.{u1} (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} F j'))))) (AddMonoid.toAddZeroClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddGroup.toAddMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddCommGroup.toAddGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (CategoryTheory.Bundled.str.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)))))) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} F j')) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F))) (AddMonoidHom.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} F j')) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddMonoid.toAddZeroClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} F j')) (AddGroup.toAddMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} F j')) (AddCommGroup.toAddGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} F j')) (CategoryTheory.Bundled.str.{u1, u1} AddCommGroup.{u1} (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} F j'))))) (AddMonoid.toAddZeroClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddGroup.toAddMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddCommGroup.toAddGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (CategoryTheory.Bundled.str.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)))))) (AddCommGroupCat.Colimits.coconeMorphism.{u1} J _inst_1 F j') (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1})) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} F j) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} F j')) (fun (_x : AddMonoidHom.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} F j)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} F j')) (AddMonoid.toAddZeroClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} F j)) (AddGroup.toAddMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} F j)) (AddCommGroup.toAddGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} F j)) (CategoryTheory.Bundled.str.{u1, u1} AddCommGroup.{u1} (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} F j))))) (AddMonoid.toAddZeroClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} F j')) (AddGroup.toAddMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} F j')) (AddCommGroup.toAddGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} F j')) (CategoryTheory.Bundled.str.{u1, u1} AddCommGroup.{u1} (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} F j')))))) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} F j)) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} F j'))) (AddMonoidHom.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} F j)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} F j')) (AddMonoid.toAddZeroClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} F j)) (AddGroup.toAddMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} F j)) (AddCommGroup.toAddGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} F j)) (CategoryTheory.Bundled.str.{u1, u1} AddCommGroup.{u1} (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} F j))))) (AddMonoid.toAddZeroClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} F j')) (AddGroup.toAddMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} F j')) (AddCommGroup.toAddGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} F j')) (CategoryTheory.Bundled.str.{u1, u1} AddCommGroup.{u1} (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} F j')))))) (CategoryTheory.Functor.map.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} F j j' f) x)) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1})) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} F j) (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (fun (_x : AddMonoidHom.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} F j)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddMonoid.toAddZeroClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} F j)) (AddGroup.toAddMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} F j)) (AddCommGroup.toAddGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} F j)) (CategoryTheory.Bundled.str.{u1, u1} AddCommGroup.{u1} (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} F j))))) (AddMonoid.toAddZeroClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddGroup.toAddMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddCommGroup.toAddGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (CategoryTheory.Bundled.str.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)))))) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} F j)) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F))) (AddMonoidHom.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} F j)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddMonoid.toAddZeroClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} F j)) (AddGroup.toAddMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} F j)) (AddCommGroup.toAddGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} F j)) (CategoryTheory.Bundled.str.{u1, u1} AddCommGroup.{u1} (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} F j))))) (AddMonoid.toAddZeroClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddGroup.toAddMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddCommGroup.toAddGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (CategoryTheory.Bundled.str.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)))))) (AddCommGroupCat.Colimits.coconeMorphism.{u1} J _inst_1 F j) x)
-but is expected to have type
- forall {J : Type.{u1}} [_inst_1 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1}) (j : J) (j' : J) (f : Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) j j') (x : CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) => CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (FunLike.coe.{succ u1, succ u1, succ u1} (AddMonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (AddCommGroup.toAddGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (AddCommGroupCat.addCommGroupInstance.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)))))) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddCommGroup.toAddGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddCommGroupCat.addCommGroupInstance.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j'))))))) (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (fun (a : CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) => CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) a) (AddHomClass.toFunLike.{u1, u1, u1} (AddMonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (AddCommGroup.toAddGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (AddCommGroupCat.addCommGroupInstance.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)))))) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddCommGroup.toAddGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddCommGroupCat.addCommGroupInstance.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j'))))))) (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddZeroClass.toAdd.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (AddCommGroup.toAddGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (AddCommGroupCat.addCommGroupInstance.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j))))))) (AddZeroClass.toAdd.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddCommGroup.toAddGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddCommGroupCat.addCommGroupInstance.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j'))))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (AddMonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (AddCommGroup.toAddGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (AddCommGroupCat.addCommGroupInstance.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)))))) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddCommGroup.toAddGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddCommGroupCat.addCommGroupInstance.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j'))))))) (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (AddCommGroup.toAddGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (AddCommGroupCat.addCommGroupInstance.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)))))) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddCommGroup.toAddGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddCommGroupCat.addCommGroupInstance.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')))))) (AddMonoidHom.addMonoidHomClass.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (AddCommGroup.toAddGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (AddCommGroupCat.addCommGroupInstance.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)))))) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddCommGroup.toAddGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddCommGroupCat.addCommGroupInstance.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j'))))))))) (Prefunctor.map.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j j' f) x)) (FunLike.coe.{succ u1, succ u1, succ u1} (AddMonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddCommGroup.toAddGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddCommGroupCat.addCommGroupInstance.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')))))) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddCommGroup.toAddGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddCommGroupCat.addCommGroupInstance.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F))))))) (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (fun (_x : CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) => CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) _x) (AddHomClass.toFunLike.{u1, u1, u1} (AddMonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddCommGroup.toAddGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddCommGroupCat.addCommGroupInstance.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')))))) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddCommGroup.toAddGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddCommGroupCat.addCommGroupInstance.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F))))))) (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddZeroClass.toAdd.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddCommGroup.toAddGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddCommGroupCat.addCommGroupInstance.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j'))))))) (AddZeroClass.toAdd.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddCommGroup.toAddGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddCommGroupCat.addCommGroupInstance.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F))))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (AddMonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddCommGroup.toAddGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddCommGroupCat.addCommGroupInstance.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')))))) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddCommGroup.toAddGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddCommGroupCat.addCommGroupInstance.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F))))))) (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddCommGroup.toAddGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddCommGroupCat.addCommGroupInstance.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')))))) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddCommGroup.toAddGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddCommGroupCat.addCommGroupInstance.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)))))) (AddMonoidHom.addMonoidHomClass.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddCommGroup.toAddGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddCommGroupCat.addCommGroupInstance.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')))))) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddCommGroup.toAddGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddCommGroupCat.addCommGroupInstance.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F))))))))) (AddCommGroupCat.Colimits.coconeMorphism.{u1} J _inst_1 F j') (FunLike.coe.{succ u1, succ u1, succ u1} (AddMonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (AddCommGroup.toAddGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (AddCommGroupCat.addCommGroupInstance.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)))))) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddCommGroup.toAddGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddCommGroupCat.addCommGroupInstance.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j'))))))) (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (fun (_x : CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) => CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) _x) (AddHomClass.toFunLike.{u1, u1, u1} (AddMonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (AddCommGroup.toAddGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (AddCommGroupCat.addCommGroupInstance.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)))))) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddCommGroup.toAddGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddCommGroupCat.addCommGroupInstance.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j'))))))) (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddZeroClass.toAdd.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (AddCommGroup.toAddGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (AddCommGroupCat.addCommGroupInstance.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j))))))) (AddZeroClass.toAdd.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddCommGroup.toAddGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddCommGroupCat.addCommGroupInstance.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j'))))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (AddMonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (AddCommGroup.toAddGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (AddCommGroupCat.addCommGroupInstance.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)))))) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddCommGroup.toAddGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddCommGroupCat.addCommGroupInstance.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j'))))))) (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (AddCommGroup.toAddGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (AddCommGroupCat.addCommGroupInstance.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)))))) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddCommGroup.toAddGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddCommGroupCat.addCommGroupInstance.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')))))) (AddMonoidHom.addMonoidHomClass.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (AddCommGroup.toAddGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (AddCommGroupCat.addCommGroupInstance.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)))))) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddCommGroup.toAddGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddCommGroupCat.addCommGroupInstance.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j'))))))))) (Prefunctor.map.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j j' f) x)) (FunLike.coe.{succ u1, succ u1, succ u1} (AddMonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (AddCommGroup.toAddGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (AddCommGroupCat.addCommGroupInstance.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)))))) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddCommGroup.toAddGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddCommGroupCat.addCommGroupInstance.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F))))))) (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (fun (_x : CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) => CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) _x) (AddHomClass.toFunLike.{u1, u1, u1} (AddMonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (AddCommGroup.toAddGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (AddCommGroupCat.addCommGroupInstance.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)))))) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddCommGroup.toAddGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddCommGroupCat.addCommGroupInstance.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F))))))) (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddZeroClass.toAdd.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (AddCommGroup.toAddGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (AddCommGroupCat.addCommGroupInstance.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j))))))) (AddZeroClass.toAdd.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddCommGroup.toAddGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddCommGroupCat.addCommGroupInstance.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F))))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (AddMonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (AddCommGroup.toAddGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (AddCommGroupCat.addCommGroupInstance.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)))))) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddCommGroup.toAddGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddCommGroupCat.addCommGroupInstance.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F))))))) (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (AddCommGroup.toAddGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (AddCommGroupCat.addCommGroupInstance.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)))))) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddCommGroup.toAddGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddCommGroupCat.addCommGroupInstance.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)))))) (AddMonoidHom.addMonoidHomClass.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (AddCommGroup.toAddGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (AddCommGroupCat.addCommGroupInstance.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)))))) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddCommGroup.toAddGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddCommGroupCat.addCommGroupInstance.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F))))))))) (AddCommGroupCat.Colimits.coconeMorphism.{u1} J _inst_1 F j) x)
+<too large>
Case conversion may be inaccurate. Consider using '#align AddCommGroup.colimits.cocone_naturality_components AddCommGroupCat.Colimits.cocone_naturality_componentsₓ'. -/
@[simp]
theorem cocone_naturality_components (j j' : J) (f : j ⟶ j') (x : F.obj j) :
mathlib commit https://github.com/leanprover-community/mathlib/commit/e1a18cad9cd462973d760af7de36b05776b8811c
@@ -47,6 +47,7 @@ and the identifications given by the morphisms in the diagram.
variable {J : Type v} [SmallCategory J] (F : J ⥤ AddCommGroupCat.{v})
+#print AddCommGroupCat.Colimits.Prequotient /-
/-- An inductive type representing all group expressions (without relations)
on a collection of types indexed by the objects of `J`.
-/
@@ -58,12 +59,14 @@ inductive Prequotient-- There's always `of`
| neg : prequotient → prequotient
| add : prequotient → prequotient → prequotient
#align AddCommGroup.colimits.prequotient AddCommGroupCat.Colimits.Prequotient
+-/
instance : Inhabited (Prequotient F) :=
⟨Prequotient.zero⟩
open Prequotient
+#print AddCommGroupCat.Colimits.Relation /-
/-- The relation on `prequotient` saying when two expressions are equal
because of the abelian group laws, or
because one element is mapped to another by a morphism in the diagram.
@@ -101,7 +104,9 @@ inductive Relation : Prequotient F → Prequotient F → Prop-- Make it an equiv
| add_comm : ∀ x y, relation (add x y) (add y x)
| add_assoc : ∀ x y z, relation (add (add x y) z) (add x (add y z))
#align AddCommGroup.colimits.relation AddCommGroupCat.Colimits.Relation
+-/
+#print AddCommGroupCat.Colimits.colimitSetoid /-
/--
The setoid corresponding to group expressions modulo abelian group relations and identifications.
-/
@@ -110,14 +115,17 @@ def colimitSetoid : Setoid (Prequotient F)
R := Relation F
iseqv := ⟨Relation.refl, Relation.symm, Relation.trans⟩
#align AddCommGroup.colimits.colimit_setoid AddCommGroupCat.Colimits.colimitSetoid
+-/
attribute [instance] colimit_setoid
+#print AddCommGroupCat.Colimits.ColimitType /-
/-- The underlying type of the colimit of a diagram in `AddCommGroup`.
-/
def ColimitType : Type v :=
Quotient (colimitSetoid F)deriving Inhabited
#align AddCommGroup.colimits.colimit_type AddCommGroupCat.Colimits.ColimitType
+-/
instance : AddCommGroup (ColimitType F)
where
@@ -182,32 +190,64 @@ instance : AddCommGroup (ColimitType F)
rfl
rfl
+/- warning: AddCommGroup.colimits.quot_zero -> AddCommGroupCat.Colimits.quot_zero is a dubious translation:
+lean 3 declaration is
+ forall {J : Type.{u1}} [_inst_1 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1}), Eq.{succ u1} (Quot.{succ u1} (AddCommGroupCat.Colimits.Prequotient.{u1} J _inst_1 F) (Setoid.r.{succ u1} (AddCommGroupCat.Colimits.Prequotient.{u1} J _inst_1 F) (AddCommGroupCat.Colimits.colimitSetoid.{u1} J _inst_1 F))) (Quot.mk.{succ u1} (AddCommGroupCat.Colimits.Prequotient.{u1} J _inst_1 F) (Setoid.r.{succ u1} (AddCommGroupCat.Colimits.Prequotient.{u1} J _inst_1 F) (AddCommGroupCat.Colimits.colimitSetoid.{u1} J _inst_1 F)) (AddCommGroupCat.Colimits.Prequotient.zero.{u1} J _inst_1 F)) (OfNat.ofNat.{u1} (AddCommGroupCat.Colimits.ColimitType.{u1} J _inst_1 F) 0 (OfNat.mk.{u1} (AddCommGroupCat.Colimits.ColimitType.{u1} J _inst_1 F) 0 (Zero.zero.{u1} (AddCommGroupCat.Colimits.ColimitType.{u1} J _inst_1 F) (AddZeroClass.toHasZero.{u1} (AddCommGroupCat.Colimits.ColimitType.{u1} J _inst_1 F) (AddMonoid.toAddZeroClass.{u1} (AddCommGroupCat.Colimits.ColimitType.{u1} J _inst_1 F) (SubNegMonoid.toAddMonoid.{u1} (AddCommGroupCat.Colimits.ColimitType.{u1} J _inst_1 F) (AddGroup.toSubNegMonoid.{u1} (AddCommGroupCat.Colimits.ColimitType.{u1} J _inst_1 F) (AddCommGroup.toAddGroup.{u1} (AddCommGroupCat.Colimits.ColimitType.{u1} J _inst_1 F) (AddCommGroupCat.Colimits.ColimitType.addCommGroup.{u1} J _inst_1 F)))))))))
+but is expected to have type
+ forall {J : Type.{u1}} [_inst_1 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1}), Eq.{succ u1} (Quot.{succ u1} (AddCommGroupCat.Colimits.Prequotient.{u1} J _inst_1 F) (Setoid.r.{succ u1} (AddCommGroupCat.Colimits.Prequotient.{u1} J _inst_1 F) (AddCommGroupCat.Colimits.colimitSetoid.{u1} J _inst_1 F))) (Quot.mk.{succ u1} (AddCommGroupCat.Colimits.Prequotient.{u1} J _inst_1 F) (Setoid.r.{succ u1} (AddCommGroupCat.Colimits.Prequotient.{u1} J _inst_1 F) (AddCommGroupCat.Colimits.colimitSetoid.{u1} J _inst_1 F)) (AddCommGroupCat.Colimits.Prequotient.zero.{u1} J _inst_1 F)) (OfNat.ofNat.{u1} (AddCommGroupCat.Colimits.ColimitType.{u1} J _inst_1 F) 0 (Zero.toOfNat0.{u1} (AddCommGroupCat.Colimits.ColimitType.{u1} J _inst_1 F) (NegZeroClass.toZero.{u1} (AddCommGroupCat.Colimits.ColimitType.{u1} J _inst_1 F) (SubNegZeroMonoid.toNegZeroClass.{u1} (AddCommGroupCat.Colimits.ColimitType.{u1} J _inst_1 F) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (AddCommGroupCat.Colimits.ColimitType.{u1} J _inst_1 F) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (AddCommGroupCat.Colimits.ColimitType.{u1} J _inst_1 F) (AddCommGroup.toDivisionAddCommMonoid.{u1} (AddCommGroupCat.Colimits.ColimitType.{u1} J _inst_1 F) (AddCommGroupCat.Colimits.instAddCommGroupColimitType.{u1} J _inst_1 F))))))))
+Case conversion may be inaccurate. Consider using '#align AddCommGroup.colimits.quot_zero AddCommGroupCat.Colimits.quot_zeroₓ'. -/
@[simp]
theorem quot_zero : Quot.mk Setoid.r zero = (0 : ColimitType F) :=
rfl
#align AddCommGroup.colimits.quot_zero AddCommGroupCat.Colimits.quot_zero
+/- warning: AddCommGroup.colimits.quot_neg -> AddCommGroupCat.Colimits.quot_neg is a dubious translation:
+lean 3 declaration is
+ forall {J : Type.{u1}} [_inst_1 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1}) (x : AddCommGroupCat.Colimits.Prequotient.{u1} J _inst_1 F), Eq.{succ u1} (Quot.{succ u1} (AddCommGroupCat.Colimits.Prequotient.{u1} J _inst_1 F) (Setoid.r.{succ u1} (AddCommGroupCat.Colimits.Prequotient.{u1} J _inst_1 F) (AddCommGroupCat.Colimits.colimitSetoid.{u1} J _inst_1 F))) (Quot.mk.{succ u1} (AddCommGroupCat.Colimits.Prequotient.{u1} J _inst_1 F) (Setoid.r.{succ u1} (AddCommGroupCat.Colimits.Prequotient.{u1} J _inst_1 F) (AddCommGroupCat.Colimits.colimitSetoid.{u1} J _inst_1 F)) (AddCommGroupCat.Colimits.Prequotient.neg.{u1} J _inst_1 F x)) (Neg.neg.{u1} (AddCommGroupCat.Colimits.ColimitType.{u1} J _inst_1 F) (SubNegMonoid.toHasNeg.{u1} (AddCommGroupCat.Colimits.ColimitType.{u1} J _inst_1 F) (AddGroup.toSubNegMonoid.{u1} (AddCommGroupCat.Colimits.ColimitType.{u1} J _inst_1 F) (AddCommGroup.toAddGroup.{u1} (AddCommGroupCat.Colimits.ColimitType.{u1} J _inst_1 F) (AddCommGroupCat.Colimits.ColimitType.addCommGroup.{u1} J _inst_1 F)))) (Quot.mk.{succ u1} (AddCommGroupCat.Colimits.Prequotient.{u1} J _inst_1 F) (Setoid.r.{succ u1} (AddCommGroupCat.Colimits.Prequotient.{u1} J _inst_1 F) (AddCommGroupCat.Colimits.colimitSetoid.{u1} J _inst_1 F)) x))
+but is expected to have type
+ forall {J : Type.{u1}} [_inst_1 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1}) (x : AddCommGroupCat.Colimits.Prequotient.{u1} J _inst_1 F), Eq.{succ u1} (Quot.{succ u1} (AddCommGroupCat.Colimits.Prequotient.{u1} J _inst_1 F) (Setoid.r.{succ u1} (AddCommGroupCat.Colimits.Prequotient.{u1} J _inst_1 F) (AddCommGroupCat.Colimits.colimitSetoid.{u1} J _inst_1 F))) (Quot.mk.{succ u1} (AddCommGroupCat.Colimits.Prequotient.{u1} J _inst_1 F) (Setoid.r.{succ u1} (AddCommGroupCat.Colimits.Prequotient.{u1} J _inst_1 F) (AddCommGroupCat.Colimits.colimitSetoid.{u1} J _inst_1 F)) (AddCommGroupCat.Colimits.Prequotient.neg.{u1} J _inst_1 F x)) (Neg.neg.{u1} (AddCommGroupCat.Colimits.ColimitType.{u1} J _inst_1 F) (NegZeroClass.toNeg.{u1} (AddCommGroupCat.Colimits.ColimitType.{u1} J _inst_1 F) (SubNegZeroMonoid.toNegZeroClass.{u1} (AddCommGroupCat.Colimits.ColimitType.{u1} J _inst_1 F) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (AddCommGroupCat.Colimits.ColimitType.{u1} J _inst_1 F) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (AddCommGroupCat.Colimits.ColimitType.{u1} J _inst_1 F) (AddCommGroup.toDivisionAddCommMonoid.{u1} (AddCommGroupCat.Colimits.ColimitType.{u1} J _inst_1 F) (AddCommGroupCat.Colimits.instAddCommGroupColimitType.{u1} J _inst_1 F)))))) (Quot.mk.{succ u1} (AddCommGroupCat.Colimits.Prequotient.{u1} J _inst_1 F) (Setoid.r.{succ u1} (AddCommGroupCat.Colimits.Prequotient.{u1} J _inst_1 F) (AddCommGroupCat.Colimits.colimitSetoid.{u1} J _inst_1 F)) x))
+Case conversion may be inaccurate. Consider using '#align AddCommGroup.colimits.quot_neg AddCommGroupCat.Colimits.quot_negₓ'. -/
@[simp]
theorem quot_neg (x) : Quot.mk Setoid.r (neg x) = (-Quot.mk Setoid.r x : ColimitType F) :=
rfl
#align AddCommGroup.colimits.quot_neg AddCommGroupCat.Colimits.quot_neg
+/- warning: AddCommGroup.colimits.quot_add -> AddCommGroupCat.Colimits.quot_add is a dubious translation:
+lean 3 declaration is
+ forall {J : Type.{u1}} [_inst_1 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1}) (x : AddCommGroupCat.Colimits.Prequotient.{u1} J _inst_1 F) (y : AddCommGroupCat.Colimits.Prequotient.{u1} J _inst_1 F), Eq.{succ u1} (Quot.{succ u1} (AddCommGroupCat.Colimits.Prequotient.{u1} J _inst_1 F) (Setoid.r.{succ u1} (AddCommGroupCat.Colimits.Prequotient.{u1} J _inst_1 F) (AddCommGroupCat.Colimits.colimitSetoid.{u1} J _inst_1 F))) (Quot.mk.{succ u1} (AddCommGroupCat.Colimits.Prequotient.{u1} J _inst_1 F) (Setoid.r.{succ u1} (AddCommGroupCat.Colimits.Prequotient.{u1} J _inst_1 F) (AddCommGroupCat.Colimits.colimitSetoid.{u1} J _inst_1 F)) (AddCommGroupCat.Colimits.Prequotient.add.{u1} J _inst_1 F x y)) (HAdd.hAdd.{u1, u1, u1} (AddCommGroupCat.Colimits.ColimitType.{u1} J _inst_1 F) (AddCommGroupCat.Colimits.ColimitType.{u1} J _inst_1 F) (AddCommGroupCat.Colimits.ColimitType.{u1} J _inst_1 F) (instHAdd.{u1} (AddCommGroupCat.Colimits.ColimitType.{u1} J _inst_1 F) (AddZeroClass.toHasAdd.{u1} (AddCommGroupCat.Colimits.ColimitType.{u1} J _inst_1 F) (AddMonoid.toAddZeroClass.{u1} (AddCommGroupCat.Colimits.ColimitType.{u1} J _inst_1 F) (SubNegMonoid.toAddMonoid.{u1} (AddCommGroupCat.Colimits.ColimitType.{u1} J _inst_1 F) (AddGroup.toSubNegMonoid.{u1} (AddCommGroupCat.Colimits.ColimitType.{u1} J _inst_1 F) (AddCommGroup.toAddGroup.{u1} (AddCommGroupCat.Colimits.ColimitType.{u1} J _inst_1 F) (AddCommGroupCat.Colimits.ColimitType.addCommGroup.{u1} J _inst_1 F))))))) (Quot.mk.{succ u1} (AddCommGroupCat.Colimits.Prequotient.{u1} J _inst_1 F) (Setoid.r.{succ u1} (AddCommGroupCat.Colimits.Prequotient.{u1} J _inst_1 F) (AddCommGroupCat.Colimits.colimitSetoid.{u1} J _inst_1 F)) x) (Quot.mk.{succ u1} (AddCommGroupCat.Colimits.Prequotient.{u1} J _inst_1 F) (Setoid.r.{succ u1} (AddCommGroupCat.Colimits.Prequotient.{u1} J _inst_1 F) (AddCommGroupCat.Colimits.colimitSetoid.{u1} J _inst_1 F)) y))
+but is expected to have type
+ forall {J : Type.{u1}} [_inst_1 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1}) (x : AddCommGroupCat.Colimits.Prequotient.{u1} J _inst_1 F) (y : AddCommGroupCat.Colimits.Prequotient.{u1} J _inst_1 F), Eq.{succ u1} (Quot.{succ u1} (AddCommGroupCat.Colimits.Prequotient.{u1} J _inst_1 F) (Setoid.r.{succ u1} (AddCommGroupCat.Colimits.Prequotient.{u1} J _inst_1 F) (AddCommGroupCat.Colimits.colimitSetoid.{u1} J _inst_1 F))) (Quot.mk.{succ u1} (AddCommGroupCat.Colimits.Prequotient.{u1} J _inst_1 F) (Setoid.r.{succ u1} (AddCommGroupCat.Colimits.Prequotient.{u1} J _inst_1 F) (AddCommGroupCat.Colimits.colimitSetoid.{u1} J _inst_1 F)) (AddCommGroupCat.Colimits.Prequotient.add.{u1} J _inst_1 F x y)) (Add.add.{u1} (AddCommGroupCat.Colimits.ColimitType.{u1} J _inst_1 F) (AddZeroClass.toAdd.{u1} (AddCommGroupCat.Colimits.ColimitType.{u1} J _inst_1 F) (AddMonoid.toAddZeroClass.{u1} (AddCommGroupCat.Colimits.ColimitType.{u1} J _inst_1 F) (SubNegMonoid.toAddMonoid.{u1} (AddCommGroupCat.Colimits.ColimitType.{u1} J _inst_1 F) (AddGroup.toSubNegMonoid.{u1} (AddCommGroupCat.Colimits.ColimitType.{u1} J _inst_1 F) (AddCommGroup.toAddGroup.{u1} (AddCommGroupCat.Colimits.ColimitType.{u1} J _inst_1 F) (AddCommGroupCat.Colimits.instAddCommGroupColimitType.{u1} J _inst_1 F)))))) (Quot.mk.{succ u1} (AddCommGroupCat.Colimits.Prequotient.{u1} J _inst_1 F) (Setoid.r.{succ u1} (AddCommGroupCat.Colimits.Prequotient.{u1} J _inst_1 F) (AddCommGroupCat.Colimits.colimitSetoid.{u1} J _inst_1 F)) x) (Quot.mk.{succ u1} (AddCommGroupCat.Colimits.Prequotient.{u1} J _inst_1 F) (Setoid.r.{succ u1} (AddCommGroupCat.Colimits.Prequotient.{u1} J _inst_1 F) (AddCommGroupCat.Colimits.colimitSetoid.{u1} J _inst_1 F)) y))
+Case conversion may be inaccurate. Consider using '#align AddCommGroup.colimits.quot_add AddCommGroupCat.Colimits.quot_addₓ'. -/
@[simp]
theorem quot_add (x y) :
Quot.mk Setoid.r (add x y) = (Quot.mk Setoid.r x + Quot.mk Setoid.r y : ColimitType F) :=
rfl
#align AddCommGroup.colimits.quot_add AddCommGroupCat.Colimits.quot_add
+#print AddCommGroupCat.Colimits.colimit /-
/-- The bundled abelian group giving the colimit of a diagram. -/
def colimit : AddCommGroupCat :=
AddCommGroupCat.of (ColimitType F)
#align AddCommGroup.colimits.colimit AddCommGroupCat.Colimits.colimit
+-/
+/- warning: AddCommGroup.colimits.cocone_fun -> AddCommGroupCat.Colimits.coconeFun is a dubious translation:
+lean 3 declaration is
+ forall {J : Type.{u1}} [_inst_1 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1}) (j : J), (coeSort.{succ (succ u1), succ (succ u1)} AddCommGroupCat.{u1} Type.{u1} AddCommGroupCat.hasCoeToSort.{u1} (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} F j)) -> (AddCommGroupCat.Colimits.ColimitType.{u1} J _inst_1 F)
+but is expected to have type
+ forall {J : Type.{u1}} [_inst_1 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1}) (j : J), (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) -> (AddCommGroupCat.Colimits.ColimitType.{u1} J _inst_1 F)
+Case conversion may be inaccurate. Consider using '#align AddCommGroup.colimits.cocone_fun AddCommGroupCat.Colimits.coconeFunₓ'. -/
/-- The function from a given abelian group in the diagram to the colimit abelian group. -/
def coconeFun (j : J) (x : F.obj j) : ColimitType F :=
Quot.mk _ (of j x)
#align AddCommGroup.colimits.cocone_fun AddCommGroupCat.Colimits.coconeFun
+/- warning: AddCommGroup.colimits.cocone_morphism -> AddCommGroupCat.Colimits.coconeMorphism is a dubious translation:
+lean 3 declaration is
+ forall {J : Type.{u1}} [_inst_1 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1}) (j : J), Quiver.Hom.{succ u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1})) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} F j) (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)
+but is expected to have type
+ forall {J : Type.{u1}} [_inst_1 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1}) (j : J), Quiver.Hom.{succ u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j) (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)
+Case conversion may be inaccurate. Consider using '#align AddCommGroup.colimits.cocone_morphism AddCommGroupCat.Colimits.coconeMorphismₓ'. -/
/-- The group homomorphism from a given abelian group in the diagram to the colimit abelian
group. -/
def coconeMorphism (j : J) : F.obj j ⟶ colimit F
@@ -217,6 +257,12 @@ def coconeMorphism (j : J) : F.obj j ⟶ colimit F
map_add' := by intros <;> apply Quot.sound <;> apply relation.add
#align AddCommGroup.colimits.cocone_morphism AddCommGroupCat.Colimits.coconeMorphism
+/- warning: AddCommGroup.colimits.cocone_naturality -> AddCommGroupCat.Colimits.cocone_naturality is a dubious translation:
+lean 3 declaration is
+ forall {J : Type.{u1}} [_inst_1 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1}) {j : J} {j' : J} (f : Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) j j'), Eq.{succ u1} (Quiver.Hom.{succ u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1})) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} F j) (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (CategoryTheory.CategoryStruct.comp.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1}) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} F j) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} F j') (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F) (CategoryTheory.Functor.map.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} F j j' f) (AddCommGroupCat.Colimits.coconeMorphism.{u1} J _inst_1 F j')) (AddCommGroupCat.Colimits.coconeMorphism.{u1} J _inst_1 F j)
+but is expected to have type
+ forall {J : Type.{u1}} [_inst_1 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1}) {j : J} {j' : J} (f : Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) j j'), Eq.{succ u1} (Quiver.Hom.{succ u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j) (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (CategoryTheory.CategoryStruct.comp.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1}) (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j) (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j') (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F) (Prefunctor.map.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j j' f) (AddCommGroupCat.Colimits.coconeMorphism.{u1} J _inst_1 F j')) (AddCommGroupCat.Colimits.coconeMorphism.{u1} J _inst_1 F j)
+Case conversion may be inaccurate. Consider using '#align AddCommGroup.colimits.cocone_naturality AddCommGroupCat.Colimits.cocone_naturalityₓ'. -/
@[simp]
theorem cocone_naturality {j j' : J} (f : j ⟶ j') :
F.map f ≫ coconeMorphism F j' = coconeMorphism F j :=
@@ -226,6 +272,12 @@ theorem cocone_naturality {j j' : J} (f : j ⟶ j') :
apply Relation.Map
#align AddCommGroup.colimits.cocone_naturality AddCommGroupCat.Colimits.cocone_naturality
+/- warning: AddCommGroup.colimits.cocone_naturality_components -> AddCommGroupCat.Colimits.cocone_naturality_components is a dubious translation:
+lean 3 declaration is
+ forall {J : Type.{u1}} [_inst_1 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1}) (j : J) (j' : J) (f : Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) j j') (x : coeSort.{succ (succ u1), succ (succ u1)} AddCommGroupCat.{u1} Type.{u1} AddCommGroupCat.hasCoeToSort.{u1} (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} F j)), Eq.{succ u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1})) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} F j') (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (fun (_x : AddMonoidHom.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} F j')) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddMonoid.toAddZeroClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} F j')) (AddGroup.toAddMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} F j')) (AddCommGroup.toAddGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} F j')) (CategoryTheory.Bundled.str.{u1, u1} AddCommGroup.{u1} (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} F j'))))) (AddMonoid.toAddZeroClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddGroup.toAddMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddCommGroup.toAddGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (CategoryTheory.Bundled.str.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)))))) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} F j')) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F))) (AddMonoidHom.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} F j')) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddMonoid.toAddZeroClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} F j')) (AddGroup.toAddMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} F j')) (AddCommGroup.toAddGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} F j')) (CategoryTheory.Bundled.str.{u1, u1} AddCommGroup.{u1} (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} F j'))))) (AddMonoid.toAddZeroClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddGroup.toAddMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddCommGroup.toAddGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (CategoryTheory.Bundled.str.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)))))) (AddCommGroupCat.Colimits.coconeMorphism.{u1} J _inst_1 F j') (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1})) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} F j) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} F j')) (fun (_x : AddMonoidHom.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} F j)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} F j')) (AddMonoid.toAddZeroClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} F j)) (AddGroup.toAddMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} F j)) (AddCommGroup.toAddGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} F j)) (CategoryTheory.Bundled.str.{u1, u1} AddCommGroup.{u1} (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} F j))))) (AddMonoid.toAddZeroClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} F j')) (AddGroup.toAddMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} F j')) (AddCommGroup.toAddGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} F j')) (CategoryTheory.Bundled.str.{u1, u1} AddCommGroup.{u1} (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} F j')))))) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} F j)) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} F j'))) (AddMonoidHom.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} F j)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} F j')) (AddMonoid.toAddZeroClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} F j)) (AddGroup.toAddMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} F j)) (AddCommGroup.toAddGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} F j)) (CategoryTheory.Bundled.str.{u1, u1} AddCommGroup.{u1} (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} F j))))) (AddMonoid.toAddZeroClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} F j')) (AddGroup.toAddMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} F j')) (AddCommGroup.toAddGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} F j')) (CategoryTheory.Bundled.str.{u1, u1} AddCommGroup.{u1} (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} F j')))))) (CategoryTheory.Functor.map.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} F j j' f) x)) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1})) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} F j) (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (fun (_x : AddMonoidHom.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} F j)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddMonoid.toAddZeroClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} F j)) (AddGroup.toAddMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} F j)) (AddCommGroup.toAddGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} F j)) (CategoryTheory.Bundled.str.{u1, u1} AddCommGroup.{u1} (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} F j))))) (AddMonoid.toAddZeroClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddGroup.toAddMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddCommGroup.toAddGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (CategoryTheory.Bundled.str.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)))))) => (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} F j)) -> (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F))) (AddMonoidHom.hasCoeToFun.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} F j)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddMonoid.toAddZeroClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} F j)) (AddGroup.toAddMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} F j)) (AddCommGroup.toAddGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} F j)) (CategoryTheory.Bundled.str.{u1, u1} AddCommGroup.{u1} (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} F j))))) (AddMonoid.toAddZeroClass.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddGroup.toAddMonoid.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddCommGroup.toAddGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (CategoryTheory.Bundled.str.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)))))) (AddCommGroupCat.Colimits.coconeMorphism.{u1} J _inst_1 F j) x)
+but is expected to have type
+ forall {J : Type.{u1}} [_inst_1 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1}) (j : J) (j' : J) (f : Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) j j') (x : CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) => CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (FunLike.coe.{succ u1, succ u1, succ u1} (AddMonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (AddCommGroup.toAddGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (AddCommGroupCat.addCommGroupInstance.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)))))) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddCommGroup.toAddGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddCommGroupCat.addCommGroupInstance.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j'))))))) (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (fun (a : CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) => CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) a) (AddHomClass.toFunLike.{u1, u1, u1} (AddMonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (AddCommGroup.toAddGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (AddCommGroupCat.addCommGroupInstance.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)))))) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddCommGroup.toAddGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddCommGroupCat.addCommGroupInstance.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j'))))))) (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddZeroClass.toAdd.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (AddCommGroup.toAddGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (AddCommGroupCat.addCommGroupInstance.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j))))))) (AddZeroClass.toAdd.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddCommGroup.toAddGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddCommGroupCat.addCommGroupInstance.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j'))))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (AddMonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (AddCommGroup.toAddGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (AddCommGroupCat.addCommGroupInstance.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)))))) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddCommGroup.toAddGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddCommGroupCat.addCommGroupInstance.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j'))))))) (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (AddCommGroup.toAddGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (AddCommGroupCat.addCommGroupInstance.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)))))) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddCommGroup.toAddGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddCommGroupCat.addCommGroupInstance.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')))))) (AddMonoidHom.addMonoidHomClass.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (AddCommGroup.toAddGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (AddCommGroupCat.addCommGroupInstance.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)))))) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddCommGroup.toAddGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddCommGroupCat.addCommGroupInstance.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j'))))))))) (Prefunctor.map.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j j' f) x)) (FunLike.coe.{succ u1, succ u1, succ u1} (AddMonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddCommGroup.toAddGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddCommGroupCat.addCommGroupInstance.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')))))) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddCommGroup.toAddGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddCommGroupCat.addCommGroupInstance.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F))))))) (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (fun (_x : CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) => CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) _x) (AddHomClass.toFunLike.{u1, u1, u1} (AddMonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddCommGroup.toAddGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddCommGroupCat.addCommGroupInstance.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')))))) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddCommGroup.toAddGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddCommGroupCat.addCommGroupInstance.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F))))))) (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddZeroClass.toAdd.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddCommGroup.toAddGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddCommGroupCat.addCommGroupInstance.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j'))))))) (AddZeroClass.toAdd.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddCommGroup.toAddGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddCommGroupCat.addCommGroupInstance.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F))))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (AddMonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddCommGroup.toAddGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddCommGroupCat.addCommGroupInstance.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')))))) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddCommGroup.toAddGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddCommGroupCat.addCommGroupInstance.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F))))))) (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddCommGroup.toAddGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddCommGroupCat.addCommGroupInstance.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')))))) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddCommGroup.toAddGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddCommGroupCat.addCommGroupInstance.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)))))) (AddMonoidHom.addMonoidHomClass.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddCommGroup.toAddGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddCommGroupCat.addCommGroupInstance.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')))))) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddCommGroup.toAddGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddCommGroupCat.addCommGroupInstance.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F))))))))) (AddCommGroupCat.Colimits.coconeMorphism.{u1} J _inst_1 F j') (FunLike.coe.{succ u1, succ u1, succ u1} (AddMonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (AddCommGroup.toAddGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (AddCommGroupCat.addCommGroupInstance.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)))))) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddCommGroup.toAddGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddCommGroupCat.addCommGroupInstance.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j'))))))) (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (fun (_x : CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) => CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) _x) (AddHomClass.toFunLike.{u1, u1, u1} (AddMonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (AddCommGroup.toAddGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (AddCommGroupCat.addCommGroupInstance.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)))))) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddCommGroup.toAddGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddCommGroupCat.addCommGroupInstance.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j'))))))) (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddZeroClass.toAdd.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (AddCommGroup.toAddGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (AddCommGroupCat.addCommGroupInstance.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j))))))) (AddZeroClass.toAdd.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddCommGroup.toAddGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddCommGroupCat.addCommGroupInstance.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j'))))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (AddMonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (AddCommGroup.toAddGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (AddCommGroupCat.addCommGroupInstance.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)))))) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddCommGroup.toAddGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddCommGroupCat.addCommGroupInstance.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j'))))))) (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (AddCommGroup.toAddGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (AddCommGroupCat.addCommGroupInstance.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)))))) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddCommGroup.toAddGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddCommGroupCat.addCommGroupInstance.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')))))) (AddMonoidHom.addMonoidHomClass.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (AddCommGroup.toAddGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (AddCommGroupCat.addCommGroupInstance.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)))))) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddCommGroup.toAddGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j')) (AddCommGroupCat.addCommGroupInstance.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j'))))))))) (Prefunctor.map.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j j' f) x)) (FunLike.coe.{succ u1, succ u1, succ u1} (AddMonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (AddCommGroup.toAddGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (AddCommGroupCat.addCommGroupInstance.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)))))) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddCommGroup.toAddGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddCommGroupCat.addCommGroupInstance.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F))))))) (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (fun (_x : CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) => CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) _x) (AddHomClass.toFunLike.{u1, u1, u1} (AddMonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (AddCommGroup.toAddGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (AddCommGroupCat.addCommGroupInstance.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)))))) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddCommGroup.toAddGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddCommGroupCat.addCommGroupInstance.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F))))))) (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddZeroClass.toAdd.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (AddCommGroup.toAddGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (AddCommGroupCat.addCommGroupInstance.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j))))))) (AddZeroClass.toAdd.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddCommGroup.toAddGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddCommGroupCat.addCommGroupInstance.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F))))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (AddMonoidHom.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (AddCommGroup.toAddGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (AddCommGroupCat.addCommGroupInstance.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)))))) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddCommGroup.toAddGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddCommGroupCat.addCommGroupInstance.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F))))))) (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (AddCommGroup.toAddGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (AddCommGroupCat.addCommGroupInstance.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)))))) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddCommGroup.toAddGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddCommGroupCat.addCommGroupInstance.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)))))) (AddMonoidHom.addMonoidHomClass.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (AddCommGroup.toAddGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)) (AddCommGroupCat.addCommGroupInstance.{u1} (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} J _inst_1 AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} F) j)))))) (AddMonoid.toAddZeroClass.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (SubNegMonoid.toAddMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddGroup.toSubNegMonoid.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddCommGroup.toAddGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F)) (AddCommGroupCat.addCommGroupInstance.{u1} (AddCommGroupCat.Colimits.colimit.{u1} J _inst_1 F))))))))) (AddCommGroupCat.Colimits.coconeMorphism.{u1} J _inst_1 F j) x)
+Case conversion may be inaccurate. Consider using '#align AddCommGroup.colimits.cocone_naturality_components AddCommGroupCat.Colimits.cocone_naturality_componentsₓ'. -/
@[simp]
theorem cocone_naturality_components (j j' : J) (f : j ⟶ j') (x : F.obj j) :
(coconeMorphism F j') (F.map f x) = (coconeMorphism F j) x :=
@@ -234,12 +286,15 @@ theorem cocone_naturality_components (j j' : J) (f : j ⟶ j') (x : F.obj j) :
rfl
#align AddCommGroup.colimits.cocone_naturality_components AddCommGroupCat.Colimits.cocone_naturality_components
+#print AddCommGroupCat.Colimits.colimitCocone /-
/-- The cocone over the proposed colimit abelian group. -/
def colimitCocone : Cocone F where
pt := colimit F
ι := { app := coconeMorphism F }
#align AddCommGroup.colimits.colimit_cocone AddCommGroupCat.Colimits.colimitCocone
+-/
+#print AddCommGroupCat.Colimits.descFunLift /-
/-- The function from the free abelian group on the diagram to the cone point of any other
cocone. -/
@[simp]
@@ -249,7 +304,9 @@ def descFunLift (s : Cocone F) : Prequotient F → s.pt
| neg x => -desc_fun_lift x
| add x y => desc_fun_lift x + desc_fun_lift y
#align AddCommGroup.colimits.desc_fun_lift AddCommGroupCat.Colimits.descFunLift
+-/
+#print AddCommGroupCat.Colimits.descFun /-
/-- The function from the colimit abelian group to the cone point of any other cocone. -/
def descFun (s : Cocone F) : ColimitType F → s.pt :=
by
@@ -288,7 +345,9 @@ def descFun (s : Cocone F) : ColimitType F → s.pt :=
-- add_assoc
· rw [add_assoc]
#align AddCommGroup.colimits.desc_fun AddCommGroupCat.Colimits.descFun
+-/
+#print AddCommGroupCat.Colimits.descMorphism /-
/-- The group homomorphism from the colimit abelian group to the cone point of any other cocone. -/
def descMorphism (s : Cocone F) : colimit F ⟶ s.pt
where
@@ -296,7 +355,9 @@ def descMorphism (s : Cocone F) : colimit F ⟶ s.pt
map_zero' := rfl
map_add' x y := by induction x <;> induction y <;> rfl
#align AddCommGroup.colimits.desc_morphism AddCommGroupCat.Colimits.descMorphism
+-/
+#print AddCommGroupCat.Colimits.colimitCoconeIsColimit /-
/-- Evidence that the proposed colimit is the colimit. -/
def colimitCoconeIsColimit : IsColimit (colimitCocone F)
where
@@ -314,7 +375,9 @@ def colimitCoconeIsColimit : IsColimit (colimitCocone F)
· simp [*]
rfl
#align AddCommGroup.colimits.colimit_cocone_is_colimit AddCommGroupCat.Colimits.colimitCoconeIsColimit
+-/
+#print AddCommGroupCat.Colimits.hasColimits_addCommGroupCat /-
instance hasColimits_addCommGroupCat : HasColimits AddCommGroupCat
where HasColimitsOfShape J 𝒥 :=
{
@@ -323,6 +386,7 @@ instance hasColimits_addCommGroupCat : HasColimits AddCommGroupCat
{ Cocone := colimit_cocone F
IsColimit := colimit_cocone_is_colimit F } }
#align AddCommGroup.colimits.has_colimits_AddCommGroup AddCommGroupCat.Colimits.hasColimits_addCommGroupCat
+-/
end AddCommGroupCat.Colimits
@@ -330,6 +394,12 @@ namespace AddCommGroupCat
open quotientAddGroup
+/- warning: AddCommGroup.cokernel_iso_quotient -> AddCommGroupCat.cokernelIsoQuotient is a dubious translation:
+lean 3 declaration is
+ forall {G : AddCommGroupCat.{u1}} {H : AddCommGroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1})) G H), CategoryTheory.Iso.{u1, succ u1} AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} (CategoryTheory.Limits.cokernel.{u1, succ u1} AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, succ u1} AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} AddCommGroupCat.CategoryTheory.preadditive.{u1}) G H f (AddCommGroupCat.cokernelIsoQuotient._proof_1.{u1} G H f)) (AddCommGroupCat.of.{u1} (HasQuotient.Quotient.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} AddCommGroupCat.{u1} Type.{u1} AddCommGroupCat.hasCoeToSort.{u1} H) (AddSubgroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) H) (AddCommGroup.toAddGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) H) (AddCommGroupCat.addCommGroupInstance.{u1} H))) (quotientAddGroup.Subgroup.hasQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) H) (AddCommGroup.toAddGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) H) (AddCommGroupCat.addCommGroupInstance.{u1} H))) (AddMonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) G) (AddCommGroup.toAddGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) G) (AddCommGroupCat.addCommGroupInstance.{u1} G)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) H) (AddCommGroup.toAddGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) H) (AddCommGroupCat.addCommGroupInstance.{u1} H)) f)) (QuotientAddGroup.Quotient.addCommGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} AddCommGroupCat.{u1} Type.{u1} AddCommGroupCat.hasCoeToSort.{u1} H) (AddCommGroupCat.addCommGroupInstance.{u1} H) (AddMonoidHom.range.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) G) (AddCommGroup.toAddGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) G) (AddCommGroupCat.addCommGroupInstance.{u1} G)) (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) H) (AddCommGroup.toAddGroup.{u1} (coeSort.{succ (succ u1), succ (succ u1)} (CategoryTheory.Bundled.{u1, u1} AddCommGroup.{u1}) Type.{u1} (CategoryTheory.Bundled.hasCoeToSort.{u1, u1} AddCommGroup.{u1}) H) (AddCommGroupCat.addCommGroupInstance.{u1} H)) f)))
+but is expected to have type
+ forall {G : AddCommGroupCat.{u1}} {H : AddCommGroupCat.{u1}} (f : Quiver.Hom.{succ u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) G H), CategoryTheory.Iso.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} (CategoryTheory.Limits.cokernel.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} AddCommGroupCat.instPreadditiveAddCommGroupCatInstAddCommGroupCatLargeCategory.{u1}) G H f (CategoryTheory.Limits.HasCokernels.has_colimit.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} AddCommGroupCat.instPreadditiveAddCommGroupCatInstAddCommGroupCatLargeCategory.{u1}) (CategoryTheory.Limits.hasCokernels_of_hasCoequalizers.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} AddCommGroupCat.instPreadditiveAddCommGroupCatInstAddCommGroupCatLargeCategory.{u1}) (CategoryTheory.Limits.hasColimitsOfShapeOfHasColimitsOfSize.{0, 0, u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} CategoryTheory.Limits.WalkingParallelPair CategoryTheory.Limits.walkingParallelPairHomCategory (CategoryTheory.Limits.hasSmallestColimitsOfHasColimits.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} AddCommGroupCat.Colimits.hasColimits_addCommGroupCat.{u1}))) G H f)) (AddCommGroupCat.of.{u1} (HasQuotient.Quotient.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} H) (AddSubgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} H) (AddCommGroup.toAddGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} H) (AddCommGroupCat.addCommGroupInstance.{u1} H))) (QuotientAddGroup.instHasQuotientAddSubgroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} H) (AddCommGroup.toAddGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} H) (AddCommGroupCat.addCommGroupInstance.{u1} H))) (AddMonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} G) (AddCommGroup.toAddGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} G) (AddCommGroupCat.addCommGroupInstance.{u1} G)) (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} H) (AddCommGroup.toAddGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} H) (AddCommGroupCat.addCommGroupInstance.{u1} H)) f)) (QuotientAddGroup.Quotient.addCommGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} H) (AddCommGroupCat.addCommGroupInstance.{u1} H) (AddMonoidHom.range.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} G) (AddCommGroup.toAddGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} G) (AddCommGroupCat.addCommGroupInstance.{u1} G)) (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} H) (AddCommGroup.toAddGroup.{u1} (CategoryTheory.Bundled.α.{u1, u1} AddCommGroup.{u1} H) (AddCommGroupCat.addCommGroupInstance.{u1} H)) f)))
+Case conversion may be inaccurate. Consider using '#align AddCommGroup.cokernel_iso_quotient AddCommGroupCat.cokernelIsoQuotientₓ'. -/
/-- The categorical cokernel of a morphism in `AddCommGroup`
agrees with the usual group-theoretical quotient.
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/9da1b3534b65d9661eb8f42443598a92bbb49211
@@ -236,14 +236,14 @@ theorem cocone_naturality_components (j j' : J) (f : j ⟶ j') (x : F.obj j) :
/-- The cocone over the proposed colimit abelian group. -/
def colimitCocone : Cocone F where
- x := colimit F
+ pt := colimit F
ι := { app := coconeMorphism F }
#align AddCommGroup.colimits.colimit_cocone AddCommGroupCat.Colimits.colimitCocone
/-- The function from the free abelian group on the diagram to the cone point of any other
cocone. -/
@[simp]
-def descFunLift (s : Cocone F) : Prequotient F → s.x
+def descFunLift (s : Cocone F) : Prequotient F → s.pt
| of j x => (s.ι.app j) x
| zero => 0
| neg x => -desc_fun_lift x
@@ -251,7 +251,7 @@ def descFunLift (s : Cocone F) : Prequotient F → s.x
#align AddCommGroup.colimits.desc_fun_lift AddCommGroupCat.Colimits.descFunLift
/-- The function from the colimit abelian group to the cone point of any other cocone. -/
-def descFun (s : Cocone F) : ColimitType F → s.x :=
+def descFun (s : Cocone F) : ColimitType F → s.pt :=
by
fapply Quot.lift
· exact desc_fun_lift F s
@@ -290,7 +290,7 @@ def descFun (s : Cocone F) : ColimitType F → s.x :=
#align AddCommGroup.colimits.desc_fun AddCommGroupCat.Colimits.descFun
/-- The group homomorphism from the colimit abelian group to the cone point of any other cocone. -/
-def descMorphism (s : Cocone F) : colimit F ⟶ s.x
+def descMorphism (s : Cocone F) : colimit F ⟶ s.pt
where
toFun := descFun F s
map_zero' := rfl
mathlib commit https://github.com/leanprover-community/mathlib/commit/eb0cb4511aaef0da2462207b67358a0e1fe1e2ee
@@ -301,7 +301,7 @@ def descMorphism (s : Cocone F) : colimit F ⟶ s.x
def colimitCoconeIsColimit : IsColimit (colimitCocone F)
where
desc s := descMorphism F s
- uniq' s m w := by
+ uniq s m w := by
ext
induction x
induction x
mathlib commit https://github.com/leanprover-community/mathlib/commit/bd9851ca476957ea4549eb19b40e7b5ade9428cc
@@ -14,7 +14,7 @@ import Mathlib.CategoryTheory.ConcreteCategory.Elementwise
/-!
# The category of additive commutative groups has all colimits.
-This file uses a "pre-automated" approach, just as for `Mon/Colimits.lean`.
+This file uses a "pre-automated" approach, just as for `Algebra.Category.MonCat.Colimits`.
It is a very uniform approach, that conceivably could be synthesised directly
by a tactic that analyses the shape of `AddCommGroup` and `MonoidHom`.
@@ -63,7 +63,7 @@ instance : Inhabited (Prequotient.{w} F) :=
open Prequotient
-/-- The relation on `prequotient` saying when two expressions are equal
+/-- The relation on `Prequotient` saying when two expressions are equal
because of the abelian group laws, or
because one element is mapped to another by a morphism in the diagram.
-/
nsmul
and zsmul
to default automatically (#6262)
This PR removes the default values for nsmul
and zsmul
, forcing the user to populate them manually.
The previous behavior can be obtained by writing nsmul := nsmulRec
and zsmul := zsmulRec
, which is now in the docstring for these fields.
The motivation here is to make it more obvious when module diamonds are being introduced, or at least where they might be hiding; you can now simply search for nsmulRec
in the source code.
Arguably we should do the same thing for intCast
, natCast
, pow
, and zpow
too, but diamonds are less common in those fields, so I'll leave them to a subsequent PR.
Co-authored-by: Matthew Ballard <matt@mrb.email>
@@ -108,17 +108,25 @@ def ColimitType : Type max u v w :=
Quotient (colimitSetoid.{w} F)
#align AddCommGroup.colimits.colimit_type AddCommGroupCat.Colimits.ColimitType
-instance : AddCommGroup (ColimitType.{w} F) where
+instance : Zero (ColimitType.{w} F) where
zero := Quotient.mk _ zero
+
+instance : Neg (ColimitType.{w} F) where
neg := Quotient.map neg Relation.neg_1
- add := Quotient.map₂ add fun x x' rx y y' ry =>
+
+instance : Add (ColimitType.{w} F) where
+ add := Quotient.map₂ add <| fun _x x' rx y _y' ry =>
Setoid.trans (Relation.add_1 _ _ y rx) (Relation.add_2 x' _ _ ry)
- zero_add := Quotient.ind fun _ => Quotient.sound <| Relation.zero_add _
- add_zero := Quotient.ind fun _ => Quotient.sound <| Relation.add_zero _
- add_left_neg := Quotient.ind fun _ => Quotient.sound <| Relation.add_left_neg _
- add_comm := Quotient.ind₂ fun _ _ => Quotient.sound <| Relation.add_comm _ _
- add_assoc := Quotient.ind fun _ => Quotient.ind₂ fun _ _ =>
+
+instance : AddCommGroup (ColimitType.{w} F) where
+ zero_add := Quotient.ind <| fun _ => Quotient.sound <| Relation.zero_add _
+ add_zero := Quotient.ind <| fun _ => Quotient.sound <| Relation.add_zero _
+ add_left_neg := Quotient.ind <| fun _ => Quotient.sound <| Relation.add_left_neg _
+ add_comm := Quotient.ind₂ <| fun _ _ => Quotient.sound <| Relation.add_comm _ _
+ add_assoc := Quotient.ind <| fun _ => Quotient.ind₂ <| fun _ _ =>
Quotient.sound <| Relation.add_assoc _ _ _
+ nsmul := nsmulRec
+ zsmul := zsmulRec
instance ColimitTypeInhabited : Inhabited (ColimitType.{w} F) := ⟨0⟩
Homogenises porting notes via capitalisation and addition of whitespace.
It makes the following changes:
@@ -23,7 +23,7 @@ In fact, in `AddCommGroupCat` there is a much nicer model of colimits as quotien
of finitely supported functions, and we really should implement this as well (or instead).
-/
--- porting note: `AddCommGroup` in all the names
+-- Porting note: `AddCommGroup` in all the names
set_option linter.uppercaseLean3 false
universe w u v
In this pull request, I have systematically eliminated the leading whitespace preceding the colon (:
) within all unlabelled or unclassified porting notes. This adjustment facilitates a more efficient review process for the remaining notes by ensuring no entries are overlooked due to formatting inconsistencies.
@@ -129,7 +129,7 @@ theorem quot_zero : Quot.mk Setoid.r zero = (0 : ColimitType.{w} F) :=
@[simp]
theorem quot_neg (x) :
- -- Porting note : force Lean to treat `ColimitType F` no as `Quot _`
+ -- Porting note: force Lean to treat `ColimitType F` no as `Quot _`
(by exact Quot.mk Setoid.r (neg x) : ColimitType.{w} F) =
-(by exact Quot.mk Setoid.r x) :=
rfl
@@ -138,7 +138,7 @@ theorem quot_neg (x) :
@[simp]
theorem quot_add (x y) :
(by exact Quot.mk Setoid.r (add x y) : ColimitType.{w} F) =
- -- Porting note : force Lean to treat `ColimitType F` no as `Quot _`
+ -- Porting note: force Lean to treat `ColimitType F` no as `Quot _`
(by exact Quot.mk Setoid.r x) + (by exact Quot.mk Setoid.r y) :=
rfl
#align AddCommGroup.colimits.quot_add AddCommGroupCat.Colimits.quot_add
@@ -220,7 +220,7 @@ def descFun (s : Cocone F) : ColimitType.{w} F → s.pt := by
def descMorphism (s : Cocone F) : colimit.{w} F ⟶ s.pt where
toFun := descFun F s
map_zero' := rfl
- -- Porting note : in `mathlib3`, nothing needs to be done after `induction`
+ -- Porting note: in `mathlib3`, nothing needs to be done after `induction`
map_add' x y := Quot.induction_on₂ x y fun _ _ => by dsimp; rw [← quot_add F]; rfl
#align AddCommGroup.colimits.desc_morphism AddCommGroupCat.Colimits.descMorphism
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>
@@ -202,7 +202,7 @@ def descFun (s : Cocone F) : ColimitType.{w} F → s.pt := by
| symm _ _ _ r_ih => exact r_ih.symm
| trans _ _ _ _ _ r_ih_h r_ih_k => exact Eq.trans r_ih_h r_ih_k
| map j j' f x => simpa only [descFunLift, Functor.const_obj_obj] using
- FunLike.congr_fun (s.ι.naturality f) x
+ DFunLike.congr_fun (s.ι.naturality f) x
| zero => simp
| neg => simp
| add => simp
@@ -227,10 +227,10 @@ def descMorphism (s : Cocone F) : colimit.{w} F ⟶ s.pt where
/-- Evidence that the proposed colimit is the colimit. -/
def colimitCoconeIsColimit : IsColimit (colimitCocone.{w} F) where
desc s := descMorphism F s
- uniq s m w := FunLike.ext _ _ fun x => Quot.inductionOn x fun x => by
+ uniq s m w := DFunLike.ext _ _ fun x => Quot.inductionOn x fun x => by
change (m : ColimitType F →+ s.pt) _ = (descMorphism F s : ColimitType F →+ s.pt) _
induction x using Prequotient.recOn with
- | of j x => exact FunLike.congr_fun (w j) x
+ | of j x => exact DFunLike.congr_fun (w j) x
| zero =>
dsimp only [quot_zero]
rw [map_zero, map_zero]
@@ -111,13 +111,13 @@ def ColimitType : Type max u v w :=
instance : AddCommGroup (ColimitType.{w} F) where
zero := Quotient.mk _ zero
neg := Quotient.map neg Relation.neg_1
- add := Quotient.map₂ add <| fun x x' rx y y' ry =>
+ add := Quotient.map₂ add fun x x' rx y y' ry =>
Setoid.trans (Relation.add_1 _ _ y rx) (Relation.add_2 x' _ _ ry)
- zero_add := Quotient.ind <| fun _ => Quotient.sound <| Relation.zero_add _
- add_zero := Quotient.ind <| fun _ => Quotient.sound <| Relation.add_zero _
- add_left_neg := Quotient.ind <| fun _ => Quotient.sound <| Relation.add_left_neg _
- add_comm := Quotient.ind₂ <| fun _ _ => Quotient.sound <| Relation.add_comm _ _
- add_assoc := Quotient.ind <| fun _ => Quotient.ind₂ <| fun _ _ =>
+ zero_add := Quotient.ind fun _ => Quotient.sound <| Relation.zero_add _
+ add_zero := Quotient.ind fun _ => Quotient.sound <| Relation.add_zero _
+ add_left_neg := Quotient.ind fun _ => Quotient.sound <| Relation.add_left_neg _
+ add_comm := Quotient.ind₂ fun _ _ => Quotient.sound <| Relation.add_comm _ _
+ add_assoc := Quotient.ind fun _ => Quotient.ind₂ fun _ _ =>
Quotient.sound <| Relation.add_assoc _ _ _
instance ColimitTypeInhabited : Inhabited (ColimitType.{w} F) := ⟨0⟩
@@ -227,7 +227,7 @@ def descMorphism (s : Cocone F) : colimit.{w} F ⟶ s.pt where
/-- Evidence that the proposed colimit is the colimit. -/
def colimitCoconeIsColimit : IsColimit (colimitCocone.{w} F) where
desc s := descMorphism F s
- uniq s m w := FunLike.ext _ _ <| fun x => Quot.inductionOn x fun x => by
+ uniq s m w := FunLike.ext _ _ fun x => Quot.inductionOn x fun x => by
change (m : ColimitType F →+ s.pt) _ = (descMorphism F s : ColimitType F →+ s.pt) _
induction x using Prequotient.recOn with
| of j x => exact FunLike.congr_fun (w j) x
@@ -221,7 +221,7 @@ def descMorphism (s : Cocone F) : colimit.{w} F ⟶ s.pt where
toFun := descFun F s
map_zero' := rfl
-- Porting note : in `mathlib3`, nothing needs to be done after `induction`
- map_add' x y := Quot.induction_on₂ x y fun _ _ => by dsimp; rw [←quot_add F]; rfl
+ map_add' x y := Quot.induction_on₂ x y fun _ _ => by dsimp; rw [← quot_add F]; rfl
#align AddCommGroup.colimits.desc_morphism AddCommGroupCat.Colimits.descMorphism
/-- Evidence that the proposed colimit is the colimit. -/
Some of these are likely porting errors. Statements should always be about the heterogenous versions because these are the ones with notation.
For places where we are abusing defeq, this debuts the trick of using (by exact a : B) = (by exact a1) + (by exact b2)
to ensure the =
and +
are typed as B
instead of A
.
@@ -128,17 +128,18 @@ theorem quot_zero : Quot.mk Setoid.r zero = (0 : ColimitType.{w} F) :=
#align AddCommGroup.colimits.quot_zero AddCommGroupCat.Colimits.quot_zero
@[simp]
-theorem quot_neg (x) : Quot.mk Setoid.r (neg x) =
+theorem quot_neg (x) :
-- Porting note : force Lean to treat `ColimitType F` no as `Quot _`
- Neg.neg (α := ColimitType.{w} F) (Quot.mk Setoid.r x : ColimitType.{w} F) :=
+ (by exact Quot.mk Setoid.r (neg x) : ColimitType.{w} F) =
+ -(by exact Quot.mk Setoid.r x) :=
rfl
#align AddCommGroup.colimits.quot_neg AddCommGroupCat.Colimits.quot_neg
@[simp]
theorem quot_add (x y) :
- Quot.mk Setoid.r (add x y) =
- -- Porting note : force Lean to treat `ColimitType F` no as `Quot _`
- Add.add (α := ColimitType.{w} F) (Quot.mk Setoid.r x) (Quot.mk Setoid.r y) :=
+ (by exact Quot.mk Setoid.r (add x y) : ColimitType.{w} F) =
+ -- Porting note : force Lean to treat `ColimitType F` no as `Quot _`
+ (by exact Quot.mk Setoid.r x) + (by exact Quot.mk Setoid.r y) :=
rfl
#align AddCommGroup.colimits.quot_add AddCommGroupCat.Colimits.quot_add
@@ -220,7 +221,7 @@ def descMorphism (s : Cocone F) : colimit.{w} F ⟶ s.pt where
toFun := descFun F s
map_zero' := rfl
-- Porting note : in `mathlib3`, nothing needs to be done after `induction`
- map_add' x y := Quot.induction_on₂ x y fun _ _ => by dsimp [(· + ·)]; rw [←quot_add F]; rfl
+ map_add' x y := Quot.induction_on₂ x y fun _ _ => by dsimp; rw [←quot_add F]; rfl
#align AddCommGroup.colimits.desc_morphism AddCommGroupCat.Colimits.descMorphism
/-- Evidence that the proposed colimit is the colimit. -/
This PR refactors the construction of colimits of modules in order to prove that the forgetful functor to abelian groups preserves colimits.
@@ -6,6 +6,7 @@ Authors: Scott Morrison
import Mathlib.Algebra.Category.GroupCat.Preadditive
import Mathlib.GroupTheory.QuotientGroup
import Mathlib.CategoryTheory.Limits.Shapes.Kernels
+import Mathlib.CategoryTheory.Limits.Shapes.FiniteLimits
import Mathlib.CategoryTheory.ConcreteCategory.Elementwise
#align_import algebra.category.Group.colimits from "leanprover-community/mathlib"@"70fd9563a21e7b963887c9360bd29b2393e6225a"
@@ -25,16 +26,18 @@ of finitely supported functions, and we really should implement this as well (or
-- porting note: `AddCommGroup` in all the names
set_option linter.uppercaseLean3 false
-universe u v
+universe w u v
-open CategoryTheory
-
-open CategoryTheory.Limits
+open CategoryTheory Limits
-- [ROBOT VOICE]:
-- You should pretend for now that this file was automatically generated.
-- It follows the same template as colimits in Mon.
-namespace AddCommGroupCat.Colimits
+namespace AddCommGroupCat
+
+variable {J : Type u} [Category.{v} J] (F : J ⥤ AddCommGroupCat.{max u v w})
+
+namespace Colimits
/-!
We build the colimit of a diagram in `AddCommGroupCat` by constructing the
@@ -43,9 +46,6 @@ then taking the quotient by the abelian group laws within each abelian group,
and the identifications given by the morphisms in the diagram.
-/
-
-variable {J : Type v} [SmallCategory J] (F : J ⥤ AddCommGroupCat.{v})
-
/-- An inductive type representing all group expressions (without relations)
on a collection of types indexed by the objects of `J`.
-/
@@ -58,7 +58,7 @@ inductive Prequotient
| add : Prequotient → Prequotient → Prequotient
#align AddCommGroup.colimits.prequotient AddCommGroupCat.Colimits.Prequotient
-instance : Inhabited (Prequotient F) :=
+instance : Inhabited (Prequotient.{w} F) :=
⟨Prequotient.zero⟩
open Prequotient
@@ -67,7 +67,7 @@ open Prequotient
because of the abelian group laws, or
because one element is mapped to another by a morphism in the diagram.
-/
-inductive Relation : Prequotient F → Prequotient F → Prop
+inductive Relation : Prequotient.{w} F → Prequotient.{w} F → Prop
-- Make it an equivalence relation:
| refl : ∀ x, Relation x x
| symm : ∀ (x y) (_ : Relation x y), Relation y x
@@ -95,7 +95,7 @@ inductive Relation : Prequotient F → Prequotient F → Prop
/--
The setoid corresponding to group expressions modulo abelian group relations and identifications.
-/
-def colimitSetoid : Setoid (Prequotient F) where
+def colimitSetoid : Setoid (Prequotient.{w} F) where
r := Relation F
iseqv := ⟨Relation.refl, fun r => Relation.symm _ _ r, fun r => Relation.trans _ _ _ r⟩
#align AddCommGroup.colimits.colimit_setoid AddCommGroupCat.Colimits.colimitSetoid
@@ -104,11 +104,11 @@ attribute [instance] colimitSetoid
/-- The underlying type of the colimit of a diagram in `AddCommGroupCat`.
-/
-def ColimitType : Type v :=
- Quotient (colimitSetoid F)
+def ColimitType : Type max u v w :=
+ Quotient (colimitSetoid.{w} F)
#align AddCommGroup.colimits.colimit_type AddCommGroupCat.Colimits.ColimitType
-instance : AddCommGroup (ColimitType F) where
+instance : AddCommGroup (ColimitType.{w} F) where
zero := Quotient.mk _ zero
neg := Quotient.map neg Relation.neg_1
add := Quotient.map₂ add <| fun x x' rx y y' ry =>
@@ -120,17 +120,17 @@ instance : AddCommGroup (ColimitType F) where
add_assoc := Quotient.ind <| fun _ => Quotient.ind₂ <| fun _ _ =>
Quotient.sound <| Relation.add_assoc _ _ _
-instance ColimitTypeInhabited : Inhabited (ColimitType.{v} F) := ⟨0⟩
+instance ColimitTypeInhabited : Inhabited (ColimitType.{w} F) := ⟨0⟩
@[simp]
-theorem quot_zero : Quot.mk Setoid.r zero = (0 : ColimitType F) :=
+theorem quot_zero : Quot.mk Setoid.r zero = (0 : ColimitType.{w} F) :=
rfl
#align AddCommGroup.colimits.quot_zero AddCommGroupCat.Colimits.quot_zero
@[simp]
theorem quot_neg (x) : Quot.mk Setoid.r (neg x) =
-- Porting note : force Lean to treat `ColimitType F` no as `Quot _`
- Neg.neg (α := ColimitType.{v} F) (Quot.mk Setoid.r x : ColimitType.{v} F) :=
+ Neg.neg (α := ColimitType.{w} F) (Quot.mk Setoid.r x : ColimitType.{w} F) :=
rfl
#align AddCommGroup.colimits.quot_neg AddCommGroupCat.Colimits.quot_neg
@@ -138,23 +138,23 @@ theorem quot_neg (x) : Quot.mk Setoid.r (neg x) =
theorem quot_add (x y) :
Quot.mk Setoid.r (add x y) =
-- Porting note : force Lean to treat `ColimitType F` no as `Quot _`
- Add.add (α := ColimitType.{v} F) (Quot.mk Setoid.r x) (Quot.mk Setoid.r y) :=
+ Add.add (α := ColimitType.{w} F) (Quot.mk Setoid.r x) (Quot.mk Setoid.r y) :=
rfl
#align AddCommGroup.colimits.quot_add AddCommGroupCat.Colimits.quot_add
/-- The bundled abelian group giving the colimit of a diagram. -/
def colimit : AddCommGroupCat :=
- AddCommGroupCat.of (ColimitType F)
+ AddCommGroupCat.of (ColimitType.{w} F)
#align AddCommGroup.colimits.colimit AddCommGroupCat.Colimits.colimit
/-- The function from a given abelian group in the diagram to the colimit abelian group. -/
-def coconeFun (j : J) (x : F.obj j) : ColimitType F :=
+def coconeFun (j : J) (x : F.obj j) : ColimitType.{w} F :=
Quot.mk _ (Prequotient.of j x)
#align AddCommGroup.colimits.cocone_fun AddCommGroupCat.Colimits.coconeFun
/-- The group homomorphism from a given abelian group in the diagram to the colimit abelian
group. -/
-def coconeMorphism (j : J) : F.obj j ⟶ colimit F where
+def coconeMorphism (j : J) : F.obj j ⟶ colimit.{w} F where
toFun := coconeFun F j
map_zero' := by apply Quot.sound; apply Relation.zero
map_add' := by intros; apply Quot.sound; apply Relation.add
@@ -162,7 +162,7 @@ def coconeMorphism (j : J) : F.obj j ⟶ colimit F where
@[simp]
theorem cocone_naturality {j j' : J} (f : j ⟶ j') :
- F.map f ≫ coconeMorphism F j' = coconeMorphism F j := by
+ F.map f ≫ coconeMorphism.{w} F j' = coconeMorphism F j := by
ext
apply Quot.sound
apply Relation.map
@@ -170,21 +170,21 @@ theorem cocone_naturality {j j' : J} (f : j ⟶ j') :
@[simp]
theorem cocone_naturality_components (j j' : J) (f : j ⟶ j') (x : F.obj j) :
- (coconeMorphism F j') (F.map f x) = (coconeMorphism F j) x := by
+ (coconeMorphism.{w} F j') (F.map f x) = (coconeMorphism F j) x := by
rw [← cocone_naturality F f]
rfl
#align AddCommGroup.colimits.cocone_naturality_components AddCommGroupCat.Colimits.cocone_naturality_components
/-- The cocone over the proposed colimit abelian group. -/
def colimitCocone : Cocone F where
- pt := colimit F
+ pt := colimit.{w} F
ι := { app := coconeMorphism F }
#align AddCommGroup.colimits.colimit_cocone AddCommGroupCat.Colimits.colimitCocone
/-- The function from the free abelian group on the diagram to the cone point of any other
cocone. -/
@[simp]
-def descFunLift (s : Cocone F) : Prequotient F → s.pt
+def descFunLift (s : Cocone F) : Prequotient.{w} F → s.pt
| Prequotient.of j x => (s.ι.app j) x
| zero => 0
| neg x => -descFunLift s x
@@ -192,7 +192,7 @@ def descFunLift (s : Cocone F) : Prequotient F → s.pt
#align AddCommGroup.colimits.desc_fun_lift AddCommGroupCat.Colimits.descFunLift
/-- The function from the colimit abelian group to the cone point of any other cocone. -/
-def descFun (s : Cocone F) : ColimitType F → s.pt := by
+def descFun (s : Cocone F) : ColimitType.{w} F → s.pt := by
fapply Quot.lift
· exact descFunLift F s
· intro x y r
@@ -216,7 +216,7 @@ def descFun (s : Cocone F) : ColimitType F → s.pt := by
#align AddCommGroup.colimits.desc_fun AddCommGroupCat.Colimits.descFun
/-- The group homomorphism from the colimit abelian group to the cone point of any other cocone. -/
-def descMorphism (s : Cocone F) : colimit.{v} F ⟶ s.pt where
+def descMorphism (s : Cocone F) : colimit.{w} F ⟶ s.pt where
toFun := descFun F s
map_zero' := rfl
-- Porting note : in `mathlib3`, nothing needs to be done after `induction`
@@ -224,7 +224,7 @@ def descMorphism (s : Cocone F) : colimit.{v} F ⟶ s.pt where
#align AddCommGroup.colimits.desc_morphism AddCommGroupCat.Colimits.descMorphism
/-- Evidence that the proposed colimit is the colimit. -/
-def colimitCoconeIsColimit : IsColimit (colimitCocone.{v} F) where
+def colimitCoconeIsColimit : IsColimit (colimitCocone.{w} F) where
desc s := descMorphism F s
uniq s m w := FunLike.ext _ _ <| fun x => Quot.inductionOn x fun x => by
change (m : ColimitType F →+ s.pt) _ = (descMorphism F s : ColimitType F →+ s.pt) _
@@ -241,15 +241,37 @@ def colimitCoconeIsColimit : IsColimit (colimitCocone.{v} F) where
erw [m.map_add, (descMorphism F s).map_add, ihx, ihy]
#align AddCommGroup.colimits.colimit_cocone_is_colimit AddCommGroupCat.Colimits.colimitCoconeIsColimit
-instance hasColimits_addCommGroupCat : HasColimits AddCommGroupCat
- where has_colimits_of_shape {_ _} :=
- { has_colimit := fun F =>
- HasColimit.mk
- { cocone := colimitCocone F
- isColimit := colimitCoconeIsColimit F } }
-#align AddCommGroup.colimits.has_colimits_AddCommGroup AddCommGroupCat.Colimits.hasColimits_addCommGroupCat
+end Colimits
+
+lemma hasColimit : HasColimit F := ⟨_, Colimits.colimitCoconeIsColimit.{w} F⟩
+
+variable (J)
-end AddCommGroupCat.Colimits
+lemma hasColimitsOfShape : HasColimitsOfShape J AddCommGroupCat.{max u v w} where
+ has_colimit F := hasColimit.{w} F
+
+lemma hasColimitsOfSize : HasColimitsOfSize.{v, u} AddCommGroupCat.{max u v w} :=
+ ⟨fun _ => hasColimitsOfShape.{w} _⟩
+
+instance hasColimits : HasColimits AddCommGroupCat.{w} := hasColimitsOfSize.{w}
+#align AddCommGroup.colimits.has_colimits_AddCommGroup AddCommGroupCat.hasColimits
+
+instance : HasColimitsOfSize.{v, v} (AddCommGroupCatMax.{u, v}) := hasColimitsOfSize.{u}
+instance : HasColimitsOfSize.{u, u} (AddCommGroupCatMax.{u, v}) := hasColimitsOfSize.{v}
+instance : HasColimitsOfSize.{u, v} (AddCommGroupCatMax.{u, v}) := hasColimitsOfSize.{u}
+instance : HasColimitsOfSize.{v, u} (AddCommGroupCatMax.{u, v}) := hasColimitsOfSize.{u}
+instance : HasColimitsOfSize.{0, 0} (AddCommGroupCat.{u}) := hasColimitsOfSize.{u, 0, 0}
+
+example : HasColimits AddCommGroupCatMax.{v, u} :=
+ inferInstance
+
+example : HasColimits AddCommGroupCatMax.{u, v} :=
+ inferInstance
+
+example : HasColimits AddCommGroupCat.{u} :=
+ inferInstance
+
+end AddCommGroupCat
namespace AddCommGroupCat
Found while doing a larger refactor. This doesn't change any defeqs, and the new proofs make it obvious that there's nothing interesting going on here.
@@ -108,67 +108,19 @@ def ColimitType : Type v :=
Quotient (colimitSetoid F)
#align AddCommGroup.colimits.colimit_type AddCommGroupCat.Colimits.ColimitType
-instance ColimitTypeInhabited : Inhabited (ColimitType.{v} F) :=
- ⟨Quot.mk _ zero⟩
-
instance : AddCommGroup (ColimitType F) where
- zero := Quot.mk _ zero
- neg := by
- fapply @Quot.lift
- · intro x
- exact Quot.mk _ (neg x)
- · intro x x' r
- apply Quot.sound
- exact Relation.neg_1 _ _ r
- add := by
- fapply @Quot.lift _ _ (ColimitType F → ColimitType F)
- · intro x
- fapply @Quot.lift
- · intro y
- exact Quot.mk _ (add x y)
- · intro y y' r
- apply Quot.sound
- exact Relation.add_2 _ _ _ r
- · intro x x' r
- funext y
- refine' y.induction_on _
- intro a
- dsimp
- apply Quot.sound
- · exact Relation.add_1 _ _ _ r
- zero_add x := by
- refine x.induction_on ?_
- dsimp [(· + ·)]
- intros
- apply Quot.sound
- apply Relation.zero_add
- add_zero x := by
- refine x.induction_on ?_
- dsimp [(· + ·)]
- intros
- apply Quot.sound
- apply Relation.add_zero
- add_left_neg x := by
- refine x.induction_on ?_
- dsimp [(· + ·)]
- intros
- apply Quot.sound
- apply Relation.add_left_neg
- add_comm x y := by
- refine x.induction_on ?_
- refine y.induction_on ?_
- dsimp [(· + ·)]
- intros
- apply Quot.sound
- apply Relation.add_comm
- add_assoc x y z := by
- refine x.induction_on ?_
- refine y.induction_on ?_
- refine z.induction_on ?_
- dsimp [(· + ·)]
- intros
- apply Quot.sound
- apply Relation.add_assoc
+ zero := Quotient.mk _ zero
+ neg := Quotient.map neg Relation.neg_1
+ add := Quotient.map₂ add <| fun x x' rx y y' ry =>
+ Setoid.trans (Relation.add_1 _ _ y rx) (Relation.add_2 x' _ _ ry)
+ zero_add := Quotient.ind <| fun _ => Quotient.sound <| Relation.zero_add _
+ add_zero := Quotient.ind <| fun _ => Quotient.sound <| Relation.add_zero _
+ add_left_neg := Quotient.ind <| fun _ => Quotient.sound <| Relation.add_left_neg _
+ add_comm := Quotient.ind₂ <| fun _ _ => Quotient.sound <| Relation.add_comm _ _
+ add_assoc := Quotient.ind <| fun _ => Quotient.ind₂ <| fun _ _ =>
+ Quotient.sound <| Relation.add_assoc _ _ _
+
+instance ColimitTypeInhabited : Inhabited (ColimitType.{v} F) := ⟨0⟩
@[simp]
theorem quot_zero : Quot.mk Setoid.r zero = (0 : ColimitType F) :=
@@ -268,7 +268,7 @@ def descMorphism (s : Cocone F) : colimit.{v} F ⟶ s.pt where
toFun := descFun F s
map_zero' := rfl
-- Porting note : in `mathlib3`, nothing needs to be done after `induction`
- map_add' x y := Quot.induction_on₂ x y fun _ _ => by dsimp [(. + .)]; rw [←quot_add F]; rfl
+ map_add' x y := Quot.induction_on₂ x y fun _ _ => by dsimp [(· + ·)]; rw [←quot_add F]; rfl
#align AddCommGroup.colimits.desc_morphism AddCommGroupCat.Colimits.descMorphism
/-- Evidence that the proposed colimit is the colimit. -/
@@ -2,17 +2,14 @@
Copyright (c) 2019 Scott Morrison. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Scott Morrison
-
-! This file was ported from Lean 3 source module algebra.category.Group.colimits
-! 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.Preadditive
import Mathlib.GroupTheory.QuotientGroup
import Mathlib.CategoryTheory.Limits.Shapes.Kernels
import Mathlib.CategoryTheory.ConcreteCategory.Elementwise
+#align_import algebra.category.Group.colimits from "leanprover-community/mathlib"@"70fd9563a21e7b963887c9360bd29b2393e6225a"
+
/-!
# The category of additive commutative groups has all colimits.
@@ -327,7 +327,7 @@ noncomputable def cokernelIsoQuotient {G H : AddCommGroupCat.{u}} (f : G ⟶ H)
simp only [coequalizer_as_cokernel, cokernel.π_desc_assoc, Category.comp_id]
rfl
inv_hom_id := by
- ext x : 2
+ ext x
exact QuotientAddGroup.induction_on x <| cokernel.π_desc_apply f _ _
#align AddCommGroup.cokernel_iso_quotient AddCommGroupCat.cokernelIsoQuotient
@@ -112,7 +112,7 @@ def ColimitType : Type v :=
#align AddCommGroup.colimits.colimit_type AddCommGroupCat.Colimits.ColimitType
instance ColimitTypeInhabited : Inhabited (ColimitType.{v} F) :=
-⟨Quot.mk _ zero⟩
+ ⟨Quot.mk _ zero⟩
instance : AddCommGroup (ColimitType F) where
zero := Quot.mk _ zero
@@ -16,12 +16,12 @@ import Mathlib.CategoryTheory.ConcreteCategory.Elementwise
/-!
# The category of additive commutative groups has all colimits.
-This file uses a "pre-automated" approach, just as for `Mon/colimits.lean`.
+This file uses a "pre-automated" approach, just as for `Mon/Colimits.lean`.
It is a very uniform approach, that conceivably could be synthesised directly
-by a tactic that analyses the shape of `add_comm_group` and `monoid_hom`.
+by a tactic that analyses the shape of `AddCommGroup` and `MonoidHom`.
TODO:
-In fact, in `AddCommGroup` there is a much nicer model of colimits as quotients
+In fact, in `AddCommGroupCat` there is a much nicer model of colimits as quotients
of finitely supported functions, and we really should implement this as well (or instead).
-/
@@ -40,7 +40,7 @@ open CategoryTheory.Limits
namespace AddCommGroupCat.Colimits
/-!
-We build the colimit of a diagram in `AddCommGroup` by constructing the
+We build the colimit of a diagram in `AddCommGroupCat` by constructing the
free group on the disjoint union of all the abelian groups in the diagram,
then taking the quotient by the abelian group laws within each abelian group,
and the identifications given by the morphisms in the diagram.
@@ -105,7 +105,7 @@ def colimitSetoid : Setoid (Prequotient F) where
attribute [instance] colimitSetoid
-/-- The underlying type of the colimit of a diagram in `AddCommGroup`.
+/-- The underlying type of the colimit of a diagram in `AddCommGroupCat`.
-/
def ColimitType : Type v :=
Quotient (colimitSetoid F)
@@ -306,7 +306,7 @@ namespace AddCommGroupCat
open QuotientAddGroup
-/-- The categorical cokernel of a morphism in `AddCommGroup`
+/-- The categorical cokernel of a morphism in `AddCommGroupCat`
agrees with the usual group-theoretical quotient.
-/
noncomputable def cokernelIsoQuotient {G H : AddCommGroupCat.{u}} (f : G ⟶ H) :
The unported dependencies are