category_theory.subobject.comma
⟷
Mathlib.CategoryTheory.Subobject.Comma
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/ce64cd319bb6b3e82f31c2d38e79080d377be451
@@ -3,9 +3,9 @@ Copyright (c) 2022 Markus Himmel. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Markus Himmel
-/
-import Mathbin.CategoryTheory.Subobject.WellPowered
-import Mathbin.CategoryTheory.Limits.Preserves.Finite
-import Mathbin.CategoryTheory.Limits.Shapes.FiniteLimits
+import CategoryTheory.Subobject.WellPowered
+import CategoryTheory.Limits.Preserves.Finite
+import CategoryTheory.Limits.Shapes.FiniteLimits
#align_import category_theory.subobject.comma from "leanprover-community/mathlib"@"9d2f0748e6c50d7a2657c564b1ff2c695b39148d"
mathlib commit https://github.com/leanprover-community/mathlib/commit/8ea5598db6caeddde6cb734aa179cc2408dbd345
@@ -2,16 +2,13 @@
Copyright (c) 2022 Markus Himmel. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Markus Himmel
-
-! This file was ported from Lean 3 source module category_theory.subobject.comma
-! leanprover-community/mathlib commit 9d2f0748e6c50d7a2657c564b1ff2c695b39148d
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
-/
import Mathbin.CategoryTheory.Subobject.WellPowered
import Mathbin.CategoryTheory.Limits.Preserves.Finite
import Mathbin.CategoryTheory.Limits.Shapes.FiniteLimits
+#align_import category_theory.subobject.comma from "leanprover-community/mathlib"@"9d2f0748e6c50d7a2657c564b1ff2c695b39148d"
+
/-!
# Subobjects in the category of structured arrows
mathlib commit https://github.com/leanprover-community/mathlib/commit/9fb8964792b4237dac6200193a0d533f1b3f7423
@@ -72,12 +72,15 @@ theorem projectSubobject_mk [HasLimits C] [PreservesLimits T] {A P : StructuredA
#align category_theory.structured_arrow.project_subobject_mk CategoryTheory.StructuredArrow.projectSubobject_mk
-/
+#print CategoryTheory.StructuredArrow.projectSubobject_factors /-
theorem projectSubobject_factors [HasLimits C] [PreservesLimits T] {A : StructuredArrow S T} :
∀ P : Subobject A, ∃ q, q ≫ T.map (projectSubobject P).arrow = A.Hom :=
Subobject.ind _ fun P f hf =>
⟨P.Hom ≫ T.map (Subobject.underlyingIso _).inv, by dsimp; simp [← T.map_comp]⟩
#align category_theory.structured_arrow.project_subobject_factors CategoryTheory.StructuredArrow.projectSubobject_factors
+-/
+#print CategoryTheory.StructuredArrow.liftSubobject /-
/-- A subobject of the underlying object of a structured arrow can be lifted to a subobject of
the structured arrow, provided that there is a morphism making the subobject into a structured
arrow. -/
@@ -86,7 +89,9 @@ def liftSubobject {A : StructuredArrow S T} (P : Subobject A.right) {q}
(hq : q ≫ T.map P.arrow = A.Hom) : Subobject A :=
Subobject.mk (homMk P.arrow hq : mk q ⟶ A)
#align category_theory.structured_arrow.lift_subobject CategoryTheory.StructuredArrow.liftSubobject
+-/
+#print CategoryTheory.StructuredArrow.lift_projectSubobject /-
/-- Projecting and then lifting a subobject recovers the original subobject, because there is at
most one morphism making the projected subobject into a structured arrow. -/
theorem lift_projectSubobject [HasLimits C] [PreservesLimits T] {A : StructuredArrow S T} :
@@ -101,7 +106,9 @@ theorem lift_projectSubobject [HasLimits C] [PreservesLimits T] {A : StructuredA
· exact (cancel_mono (T.map f.right)).1 (by dsimp; simpa [← T.map_comp] using hq)
· exact ext _ _ (by dsimp; simp))
#align category_theory.structured_arrow.lift_project_subobject CategoryTheory.StructuredArrow.lift_projectSubobject
+-/
+#print CategoryTheory.StructuredArrow.subobjectEquiv /-
/-- If `A : S → T.obj B` is a structured arrow for `S : D` and `T : C ⥤ D`, then we can explicitly
describe the subobjects of `A` as the subobjects `P` of `B` in `C` for which `A.hom` factors
through the image of `P` under `T`. -/
@@ -126,6 +133,7 @@ def subobjectEquiv [HasLimits C] [PreservesLimits T] (A : StructuredArrow S T) :
· refine' subobject.mk_le_mk_of_comm (subobject.of_mk_le_mk _ _ h).right _
exact congr_arg comma_morphism.right (subobject.of_mk_le_mk_comp h))
#align category_theory.structured_arrow.subobject_equiv CategoryTheory.StructuredArrow.subobjectEquiv
+-/
#print CategoryTheory.StructuredArrow.wellPowered_structuredArrow /-
/-- If `C` is well-powered and complete and `T` preserves limits, then `structured_arrow S T` is
@@ -165,13 +173,16 @@ theorem projectQuotient_mk [HasColimits C] [PreservesColimits S] {A : Costructur
#align category_theory.costructured_arrow.project_quotient_mk CategoryTheory.CostructuredArrow.projectQuotient_mk
-/
+#print CategoryTheory.CostructuredArrow.projectQuotient_factors /-
theorem projectQuotient_factors [HasColimits C] [PreservesColimits S] {A : CostructuredArrow S T} :
∀ P : Subobject (op A), ∃ q, S.map (projectQuotient P).arrow.unop ≫ q = A.Hom :=
Subobject.ind _ fun P f hf =>
⟨S.map (Subobject.underlyingIso _).unop.inv ≫ P.unop.Hom, by dsimp;
rw [← category.assoc, ← S.map_comp, ← unop_comp]; simp⟩
#align category_theory.costructured_arrow.project_quotient_factors CategoryTheory.CostructuredArrow.projectQuotient_factors
+-/
+#print CategoryTheory.CostructuredArrow.liftQuotient /-
/-- A quotient of the underlying object of a costructured arrow can be lifted to a quotient of
the costructured arrow, provided that there is a morphism making the quotient into a
costructured arrow. -/
@@ -180,7 +191,9 @@ def liftQuotient {A : CostructuredArrow S T} (P : Subobject (op A.left)) {q}
(hq : S.map P.arrow.unop ≫ q = A.Hom) : Subobject (op A) :=
Subobject.mk (homMk P.arrow.unop hq : A ⟶ mk q).op
#align category_theory.costructured_arrow.lift_quotient CategoryTheory.CostructuredArrow.liftQuotient
+-/
+#print CategoryTheory.CostructuredArrow.unop_left_comp_underlyingIso_hom_unop /-
/-- Technical lemma for `lift_project_quotient`. -/
@[simp]
theorem unop_left_comp_underlyingIso_hom_unop {A : CostructuredArrow S T}
@@ -193,7 +206,9 @@ theorem unop_left_comp_underlyingIso_hom_unop {A : CostructuredArrow S T}
rw [← Quiver.Hom.unop_op f.unop.left]
rw [← unop_comp, subobject.underlying_iso_hom_comp_eq_mk]
#align category_theory.costructured_arrow.unop_left_comp_underlying_iso_hom_unop CategoryTheory.CostructuredArrow.unop_left_comp_underlyingIso_hom_unop
+-/
+#print CategoryTheory.CostructuredArrow.lift_projectQuotient /-
/-- Projecting and then lifting a quotient recovers the original quotient, because there is at most
one morphism making the projected quotient into a costructured arrow. -/
theorem lift_projectQuotient [HasColimits C] [PreservesColimits S] {A : CostructuredArrow S T} :
@@ -209,6 +224,7 @@ theorem lift_projectQuotient [HasColimits C] [PreservesColimits S] {A : Costruct
simpa [← category.assoc, ← S.map_comp] using hq
· exact Quiver.Hom.unop_inj (ext _ _ (by dsimp; simp)))
#align category_theory.costructured_arrow.lift_project_quotient CategoryTheory.CostructuredArrow.lift_projectQuotient
+-/
#print CategoryTheory.CostructuredArrow.unop_left_comp_ofMkLEMk_unop /-
/-- Technical lemma for `quotient_equiv`. -/
@@ -225,6 +241,7 @@ theorem unop_left_comp_ofMkLEMk_unop {A : CostructuredArrow S T} {P Q : (Costruc
#align category_theory.costructured_arrow.unop_left_comp_of_mk_le_mk_unop CategoryTheory.CostructuredArrow.unop_left_comp_ofMkLEMk_unop
-/
+#print CategoryTheory.CostructuredArrow.quotientEquiv /-
/-- If `A : S.obj B ⟶ T` is a costructured arrow for `S : C ⥤ D` and `T : D`, then we can
explicitly describe the quotients of `A` as the quotients `P` of `B` in `C` for which `A.hom`
factors through the image of `P` under `S`. -/
@@ -253,6 +270,7 @@ def quotientEquiv [HasColimits C] [PreservesColimits S] (A : CostructuredArrow S
have := congr_arg Quiver.Hom.unop (subobject.of_mk_le_mk_comp h)
simpa [-subobject.of_mk_le_mk_comp] using congr_arg comma_morphism.left this)
#align category_theory.costructured_arrow.quotient_equiv CategoryTheory.CostructuredArrow.quotientEquiv
+-/
#print CategoryTheory.CostructuredArrow.well_copowered_costructuredArrow /-
/-- If `C` is well-copowered and cocomplete and `S` preserves colimits, then
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -210,6 +210,7 @@ theorem lift_projectQuotient [HasColimits C] [PreservesColimits S] {A : Costruct
· exact Quiver.Hom.unop_inj (ext _ _ (by dsimp; simp)))
#align category_theory.costructured_arrow.lift_project_quotient CategoryTheory.CostructuredArrow.lift_projectQuotient
+#print CategoryTheory.CostructuredArrow.unop_left_comp_ofMkLEMk_unop /-
/-- Technical lemma for `quotient_equiv`. -/
theorem unop_left_comp_ofMkLEMk_unop {A : CostructuredArrow S T} {P Q : (CostructuredArrow S T)ᵒᵖ}
{f : P ⟶ op A} {g : Q ⟶ op A} [Mono f.unop.left.op] [Mono g.unop.left.op]
@@ -222,6 +223,7 @@ theorem unop_left_comp_ofMkLEMk_unop {A : CostructuredArrow S T} {P Q : (Costruc
rw [← unop_comp]
simp only [subobject.of_mk_le_mk_comp, Quiver.Hom.unop_op]
#align category_theory.costructured_arrow.unop_left_comp_of_mk_le_mk_unop CategoryTheory.CostructuredArrow.unop_left_comp_ofMkLEMk_unop
+-/
/-- If `A : S.obj B ⟶ T` is a costructured arrow for `S : C ⥤ D` and `T : D`, then we can
explicitly describe the quotients of `A` as the quotients `P` of `B` in `C` for which `A.hom`
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -72,18 +72,12 @@ theorem projectSubobject_mk [HasLimits C] [PreservesLimits T] {A P : StructuredA
#align category_theory.structured_arrow.project_subobject_mk CategoryTheory.StructuredArrow.projectSubobject_mk
-/
-/- warning: category_theory.structured_arrow.project_subobject_factors -> CategoryTheory.StructuredArrow.projectSubobject_factors is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.structured_arrow.project_subobject_factors CategoryTheory.StructuredArrow.projectSubobject_factorsₓ'. -/
theorem projectSubobject_factors [HasLimits C] [PreservesLimits T] {A : StructuredArrow S T} :
∀ P : Subobject A, ∃ q, q ≫ T.map (projectSubobject P).arrow = A.Hom :=
Subobject.ind _ fun P f hf =>
⟨P.Hom ≫ T.map (Subobject.underlyingIso _).inv, by dsimp; simp [← T.map_comp]⟩
#align category_theory.structured_arrow.project_subobject_factors CategoryTheory.StructuredArrow.projectSubobject_factors
-/- warning: category_theory.structured_arrow.lift_subobject -> CategoryTheory.StructuredArrow.liftSubobject is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.structured_arrow.lift_subobject CategoryTheory.StructuredArrow.liftSubobjectₓ'. -/
/-- A subobject of the underlying object of a structured arrow can be lifted to a subobject of
the structured arrow, provided that there is a morphism making the subobject into a structured
arrow. -/
@@ -93,9 +87,6 @@ def liftSubobject {A : StructuredArrow S T} (P : Subobject A.right) {q}
Subobject.mk (homMk P.arrow hq : mk q ⟶ A)
#align category_theory.structured_arrow.lift_subobject CategoryTheory.StructuredArrow.liftSubobject
-/- warning: category_theory.structured_arrow.lift_project_subobject -> CategoryTheory.StructuredArrow.lift_projectSubobject is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.structured_arrow.lift_project_subobject CategoryTheory.StructuredArrow.lift_projectSubobjectₓ'. -/
/-- Projecting and then lifting a subobject recovers the original subobject, because there is at
most one morphism making the projected subobject into a structured arrow. -/
theorem lift_projectSubobject [HasLimits C] [PreservesLimits T] {A : StructuredArrow S T} :
@@ -111,9 +102,6 @@ theorem lift_projectSubobject [HasLimits C] [PreservesLimits T] {A : StructuredA
· exact ext _ _ (by dsimp; simp))
#align category_theory.structured_arrow.lift_project_subobject CategoryTheory.StructuredArrow.lift_projectSubobject
-/- warning: category_theory.structured_arrow.subobject_equiv -> CategoryTheory.StructuredArrow.subobjectEquiv is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.structured_arrow.subobject_equiv CategoryTheory.StructuredArrow.subobjectEquivₓ'. -/
/-- If `A : S → T.obj B` is a structured arrow for `S : D` and `T : C ⥤ D`, then we can explicitly
describe the subobjects of `A` as the subobjects `P` of `B` in `C` for which `A.hom` factors
through the image of `P` under `T`. -/
@@ -177,9 +165,6 @@ theorem projectQuotient_mk [HasColimits C] [PreservesColimits S] {A : Costructur
#align category_theory.costructured_arrow.project_quotient_mk CategoryTheory.CostructuredArrow.projectQuotient_mk
-/
-/- warning: category_theory.costructured_arrow.project_quotient_factors -> CategoryTheory.CostructuredArrow.projectQuotient_factors is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.costructured_arrow.project_quotient_factors CategoryTheory.CostructuredArrow.projectQuotient_factorsₓ'. -/
theorem projectQuotient_factors [HasColimits C] [PreservesColimits S] {A : CostructuredArrow S T} :
∀ P : Subobject (op A), ∃ q, S.map (projectQuotient P).arrow.unop ≫ q = A.Hom :=
Subobject.ind _ fun P f hf =>
@@ -187,9 +172,6 @@ theorem projectQuotient_factors [HasColimits C] [PreservesColimits S] {A : Costr
rw [← category.assoc, ← S.map_comp, ← unop_comp]; simp⟩
#align category_theory.costructured_arrow.project_quotient_factors CategoryTheory.CostructuredArrow.projectQuotient_factors
-/- warning: category_theory.costructured_arrow.lift_quotient -> CategoryTheory.CostructuredArrow.liftQuotient is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.costructured_arrow.lift_quotient CategoryTheory.CostructuredArrow.liftQuotientₓ'. -/
/-- A quotient of the underlying object of a costructured arrow can be lifted to a quotient of
the costructured arrow, provided that there is a morphism making the quotient into a
costructured arrow. -/
@@ -199,9 +181,6 @@ def liftQuotient {A : CostructuredArrow S T} (P : Subobject (op A.left)) {q}
Subobject.mk (homMk P.arrow.unop hq : A ⟶ mk q).op
#align category_theory.costructured_arrow.lift_quotient CategoryTheory.CostructuredArrow.liftQuotient
-/- warning: category_theory.costructured_arrow.unop_left_comp_underlying_iso_hom_unop -> CategoryTheory.CostructuredArrow.unop_left_comp_underlyingIso_hom_unop is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.costructured_arrow.unop_left_comp_underlying_iso_hom_unop CategoryTheory.CostructuredArrow.unop_left_comp_underlyingIso_hom_unopₓ'. -/
/-- Technical lemma for `lift_project_quotient`. -/
@[simp]
theorem unop_left_comp_underlyingIso_hom_unop {A : CostructuredArrow S T}
@@ -215,9 +194,6 @@ theorem unop_left_comp_underlyingIso_hom_unop {A : CostructuredArrow S T}
rw [← unop_comp, subobject.underlying_iso_hom_comp_eq_mk]
#align category_theory.costructured_arrow.unop_left_comp_underlying_iso_hom_unop CategoryTheory.CostructuredArrow.unop_left_comp_underlyingIso_hom_unop
-/- warning: category_theory.costructured_arrow.lift_project_quotient -> CategoryTheory.CostructuredArrow.lift_projectQuotient is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.costructured_arrow.lift_project_quotient CategoryTheory.CostructuredArrow.lift_projectQuotientₓ'. -/
/-- Projecting and then lifting a quotient recovers the original quotient, because there is at most
one morphism making the projected quotient into a costructured arrow. -/
theorem lift_projectQuotient [HasColimits C] [PreservesColimits S] {A : CostructuredArrow S T} :
@@ -234,9 +210,6 @@ theorem lift_projectQuotient [HasColimits C] [PreservesColimits S] {A : Costruct
· exact Quiver.Hom.unop_inj (ext _ _ (by dsimp; simp)))
#align category_theory.costructured_arrow.lift_project_quotient CategoryTheory.CostructuredArrow.lift_projectQuotient
-/- warning: category_theory.costructured_arrow.unop_left_comp_of_mk_le_mk_unop -> CategoryTheory.CostructuredArrow.unop_left_comp_ofMkLEMk_unop is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.costructured_arrow.unop_left_comp_of_mk_le_mk_unop CategoryTheory.CostructuredArrow.unop_left_comp_ofMkLEMk_unopₓ'. -/
/-- Technical lemma for `quotient_equiv`. -/
theorem unop_left_comp_ofMkLEMk_unop {A : CostructuredArrow S T} {P Q : (CostructuredArrow S T)ᵒᵖ}
{f : P ⟶ op A} {g : Q ⟶ op A} [Mono f.unop.left.op] [Mono g.unop.left.op]
@@ -250,9 +223,6 @@ theorem unop_left_comp_ofMkLEMk_unop {A : CostructuredArrow S T} {P Q : (Costruc
simp only [subobject.of_mk_le_mk_comp, Quiver.Hom.unop_op]
#align category_theory.costructured_arrow.unop_left_comp_of_mk_le_mk_unop CategoryTheory.CostructuredArrow.unop_left_comp_ofMkLEMk_unop
-/- warning: category_theory.costructured_arrow.quotient_equiv -> CategoryTheory.CostructuredArrow.quotientEquiv is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.costructured_arrow.quotient_equiv CategoryTheory.CostructuredArrow.quotientEquivₓ'. -/
/-- If `A : S.obj B ⟶ T` is a costructured arrow for `S : C ⥤ D` and `T : D`, then we can
explicitly describe the quotients of `A` as the quotients `P` of `B` in `C` for which `A.hom`
factors through the image of `P` under `S`. -/
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -78,10 +78,7 @@ Case conversion may be inaccurate. Consider using '#align category_theory.struct
theorem projectSubobject_factors [HasLimits C] [PreservesLimits T] {A : StructuredArrow S T} :
∀ P : Subobject A, ∃ q, q ≫ T.map (projectSubobject P).arrow = A.Hom :=
Subobject.ind _ fun P f hf =>
- ⟨P.Hom ≫ T.map (Subobject.underlyingIso _).inv,
- by
- dsimp
- simp [← T.map_comp]⟩
+ ⟨P.Hom ≫ T.map (Subobject.underlyingIso _).inv, by dsimp; simp [← T.map_comp]⟩
#align category_theory.structured_arrow.project_subobject_factors CategoryTheory.StructuredArrow.projectSubobject_factors
/- warning: category_theory.structured_arrow.lift_subobject -> CategoryTheory.StructuredArrow.liftSubobject is a dubious translation:
@@ -110,18 +107,8 @@ theorem lift_projectSubobject [HasLimits C] [PreservesLimits T] {A : StructuredA
fapply subobject.mk_eq_mk_of_comm
· fapply iso_mk
· exact subobject.underlying_iso _
- ·
- exact
- (cancel_mono (T.map f.right)).1
- (by
- dsimp
- simpa [← T.map_comp] using hq)
- ·
- exact
- ext _ _
- (by
- dsimp
- simp))
+ · exact (cancel_mono (T.map f.right)).1 (by dsimp; simpa [← T.map_comp] using hq)
+ · exact ext _ _ (by dsimp; simp))
#align category_theory.structured_arrow.lift_project_subobject CategoryTheory.StructuredArrow.lift_projectSubobject
/- warning: category_theory.structured_arrow.subobject_equiv -> CategoryTheory.StructuredArrow.subobjectEquiv is a dubious translation:
@@ -196,11 +183,8 @@ Case conversion may be inaccurate. Consider using '#align category_theory.costru
theorem projectQuotient_factors [HasColimits C] [PreservesColimits S] {A : CostructuredArrow S T} :
∀ P : Subobject (op A), ∃ q, S.map (projectQuotient P).arrow.unop ≫ q = A.Hom :=
Subobject.ind _ fun P f hf =>
- ⟨S.map (Subobject.underlyingIso _).unop.inv ≫ P.unop.Hom,
- by
- dsimp
- rw [← category.assoc, ← S.map_comp, ← unop_comp]
- simp⟩
+ ⟨S.map (Subobject.underlyingIso _).unop.inv ≫ P.unop.Hom, by dsimp;
+ rw [← category.assoc, ← S.map_comp, ← unop_comp]; simp⟩
#align category_theory.costructured_arrow.project_quotient_factors CategoryTheory.CostructuredArrow.projectQuotient_factors
/- warning: category_theory.costructured_arrow.lift_quotient -> CategoryTheory.CostructuredArrow.liftQuotient is a dubious translation:
@@ -247,13 +231,7 @@ theorem lift_projectQuotient [HasColimits C] [PreservesColimits S] {A : Costruct
· exact (subobject.underlying_iso f.unop.left.op).unop
· refine' (cancel_epi (S.map f.unop.left)).1 _
simpa [← category.assoc, ← S.map_comp] using hq
- ·
- exact
- Quiver.Hom.unop_inj
- (ext _ _
- (by
- dsimp
- simp)))
+ · exact Quiver.Hom.unop_inj (ext _ _ (by dsimp; simp)))
#align category_theory.costructured_arrow.lift_project_quotient CategoryTheory.CostructuredArrow.lift_projectQuotient
/- warning: category_theory.costructured_arrow.unop_left_comp_of_mk_le_mk_unop -> CategoryTheory.CostructuredArrow.unop_left_comp_ofMkLEMk_unop is a dubious translation:
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -73,10 +73,7 @@ theorem projectSubobject_mk [HasLimits C] [PreservesLimits T] {A P : StructuredA
-/
/- warning: category_theory.structured_arrow.project_subobject_factors -> CategoryTheory.StructuredArrow.projectSubobject_factors is a dubious translation:
-lean 3 declaration is
- forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u1, u3} D] {S : D} {T : CategoryTheory.Functor.{u1, u1, u2, u3} C _inst_1 D _inst_2} [_inst_3 : CategoryTheory.Limits.HasLimits.{u1, u2} C _inst_1] [_inst_4 : CategoryTheory.Limits.PreservesLimits.{u1, u1, u2, u3} C _inst_1 D _inst_2 T] {A : CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T} (P : CategoryTheory.Subobject.{u1, max u2 u1} (CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.StructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T) A), Exists.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CategoryTheory.Subobject.hasCoe.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))))) (CategoryTheory.StructuredArrow.projectSubobject.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)))) (fun (q : Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CategoryTheory.Subobject.hasCoe.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))))) (CategoryTheory.StructuredArrow.projectSubobject.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)))) => Eq.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) (CategoryTheory.CategoryStruct.comp.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CategoryTheory.Subobject.hasCoe.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))))) (CategoryTheory.StructuredArrow.projectSubobject.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P))) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) q (CategoryTheory.Functor.map.{u1, u1, u2, u3} C _inst_1 D _inst_2 T ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CategoryTheory.Subobject.hasCoe.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))))) (CategoryTheory.StructuredArrow.projectSubobject.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)) (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A) (CategoryTheory.Subobject.arrow.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A) (CategoryTheory.StructuredArrow.projectSubobject.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)))) (CategoryTheory.Comma.hom.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))
-but is expected to have type
- forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u1, u3} D] {S : D} {T : CategoryTheory.Functor.{u1, u1, u2, u3} C _inst_1 D _inst_2} [_inst_3 : CategoryTheory.Limits.HasLimits.{u1, u2} C _inst_1] [_inst_4 : CategoryTheory.Limits.PreservesLimits.{u1, u1, u2, u3} C _inst_1 D _inst_2 T] {A : CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T} (P : CategoryTheory.Subobject.{u1, max u2 u1} (CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryStructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A), Exists.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S)) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))) C _inst_1 (CategoryTheory.Subobject.underlying.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) (CategoryTheory.StructuredArrow.projectSubobject.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)))) (fun (q : Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S)) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))) C _inst_1 (CategoryTheory.Subobject.underlying.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) (CategoryTheory.StructuredArrow.projectSubobject.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)))) => Eq.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S)) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) (CategoryTheory.CategoryStruct.comp.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S)) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))) C _inst_1 (CategoryTheory.Subobject.underlying.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) (CategoryTheory.StructuredArrow.projectSubobject.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P))) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) q (Prefunctor.map.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))) C _inst_1 (CategoryTheory.Subobject.underlying.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) (CategoryTheory.StructuredArrow.projectSubobject.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)) (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A) (CategoryTheory.Subobject.arrow.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A) (CategoryTheory.StructuredArrow.projectSubobject.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)))) (CategoryTheory.Comma.hom.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))
+<too large>
Case conversion may be inaccurate. Consider using '#align category_theory.structured_arrow.project_subobject_factors CategoryTheory.StructuredArrow.projectSubobject_factorsₓ'. -/
theorem projectSubobject_factors [HasLimits C] [PreservesLimits T] {A : StructuredArrow S T} :
∀ P : Subobject A, ∃ q, q ≫ T.map (projectSubobject P).arrow = A.Hom :=
@@ -88,10 +85,7 @@ theorem projectSubobject_factors [HasLimits C] [PreservesLimits T] {A : Structur
#align category_theory.structured_arrow.project_subobject_factors CategoryTheory.StructuredArrow.projectSubobject_factors
/- warning: category_theory.structured_arrow.lift_subobject -> CategoryTheory.StructuredArrow.liftSubobject is a dubious translation:
-lean 3 declaration is
- forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u1, u3} D] {S : D} {T : CategoryTheory.Functor.{u1, u1, u2, u3} C _inst_1 D _inst_2} {A : CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T} (P : CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) {q : Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CategoryTheory.Subobject.hasCoe.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))))) P))}, (Eq.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) (CategoryTheory.CategoryStruct.comp.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CategoryTheory.Subobject.hasCoe.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))))) P)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) q (CategoryTheory.Functor.map.{u1, u1, u2, u3} C _inst_1 D _inst_2 T ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CategoryTheory.Subobject.hasCoe.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))))) P) (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A) (CategoryTheory.Subobject.arrow.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A) P))) (CategoryTheory.Comma.hom.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) -> (CategoryTheory.Subobject.{u1, max u2 u1} (CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.StructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T) A)
-but is expected to have type
- forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u1, u3} D] {S : D} {T : CategoryTheory.Functor.{u1, u1, u2, u3} C _inst_1 D _inst_2} {A : CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T} (P : CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) {q : Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S)) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))) C _inst_1 (CategoryTheory.Subobject.underlying.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) P))}, (Eq.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S)) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) (CategoryTheory.CategoryStruct.comp.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S)) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))) C _inst_1 (CategoryTheory.Subobject.underlying.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) P)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) q (Prefunctor.map.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))) C _inst_1 (CategoryTheory.Subobject.underlying.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) P) (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A) (CategoryTheory.Subobject.arrow.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A) P))) (CategoryTheory.Comma.hom.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) -> (CategoryTheory.Subobject.{u1, max u2 u1} (CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryStructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)
+<too large>
Case conversion may be inaccurate. Consider using '#align category_theory.structured_arrow.lift_subobject CategoryTheory.StructuredArrow.liftSubobjectₓ'. -/
/-- A subobject of the underlying object of a structured arrow can be lifted to a subobject of
the structured arrow, provided that there is a morphism making the subobject into a structured
@@ -103,10 +97,7 @@ def liftSubobject {A : StructuredArrow S T} (P : Subobject A.right) {q}
#align category_theory.structured_arrow.lift_subobject CategoryTheory.StructuredArrow.liftSubobject
/- warning: category_theory.structured_arrow.lift_project_subobject -> CategoryTheory.StructuredArrow.lift_projectSubobject is a dubious translation:
-lean 3 declaration is
- forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u1, u3} D] {S : D} {T : CategoryTheory.Functor.{u1, u1, u2, u3} C _inst_1 D _inst_2} [_inst_3 : CategoryTheory.Limits.HasLimits.{u1, u2} C _inst_1] [_inst_4 : CategoryTheory.Limits.PreservesLimits.{u1, u1, u2, u3} C _inst_1 D _inst_2 T] {A : CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T} (P : CategoryTheory.Subobject.{u1, max u2 u1} (CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.StructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T) A) {q : Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CategoryTheory.Subobject.hasCoe.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))))) (CategoryTheory.StructuredArrow.projectSubobject.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)))} (hq : Eq.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) (CategoryTheory.CategoryStruct.comp.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CategoryTheory.Subobject.hasCoe.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))))) (CategoryTheory.StructuredArrow.projectSubobject.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P))) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) q (CategoryTheory.Functor.map.{u1, u1, u2, u3} C _inst_1 D _inst_2 T ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CategoryTheory.Subobject.hasCoe.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))))) (CategoryTheory.StructuredArrow.projectSubobject.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)) (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A) (CategoryTheory.Subobject.arrow.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A) (CategoryTheory.StructuredArrow.projectSubobject.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)))) (CategoryTheory.Comma.hom.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)), Eq.{succ (max u2 u1)} (CategoryTheory.Subobject.{u1, max u2 u1} (CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.StructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T) A) (CategoryTheory.StructuredArrow.liftSubobject.{u1, u2, u3} C _inst_1 D _inst_2 S T A (CategoryTheory.StructuredArrow.projectSubobject.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P) q hq) P
-but is expected to have type
- forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u1, u3} D] {S : D} {T : CategoryTheory.Functor.{u1, u1, u2, u3} C _inst_1 D _inst_2} [_inst_3 : CategoryTheory.Limits.HasLimits.{u1, u2} C _inst_1] [_inst_4 : CategoryTheory.Limits.PreservesLimits.{u1, u1, u2, u3} C _inst_1 D _inst_2 T] {A : CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T} (P : CategoryTheory.Subobject.{u1, max u2 u1} (CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryStructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) {q : Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S)) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))) C _inst_1 (CategoryTheory.Subobject.underlying.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) (CategoryTheory.StructuredArrow.projectSubobject.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)))} (hq : Eq.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S)) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) (CategoryTheory.CategoryStruct.comp.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S)) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))) C _inst_1 (CategoryTheory.Subobject.underlying.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) (CategoryTheory.StructuredArrow.projectSubobject.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P))) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) q (Prefunctor.map.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))) C _inst_1 (CategoryTheory.Subobject.underlying.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) (CategoryTheory.StructuredArrow.projectSubobject.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)) (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A) (CategoryTheory.Subobject.arrow.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A) (CategoryTheory.StructuredArrow.projectSubobject.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)))) (CategoryTheory.Comma.hom.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)), Eq.{max (succ u2) (succ u1)} (CategoryTheory.Subobject.{u1, max u2 u1} (CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryStructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) (CategoryTheory.StructuredArrow.liftSubobject.{u1, u2, u3} C _inst_1 D _inst_2 S T A (CategoryTheory.StructuredArrow.projectSubobject.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P) q hq) P
+<too large>
Case conversion may be inaccurate. Consider using '#align category_theory.structured_arrow.lift_project_subobject CategoryTheory.StructuredArrow.lift_projectSubobjectₓ'. -/
/-- Projecting and then lifting a subobject recovers the original subobject, because there is at
most one morphism making the projected subobject into a structured arrow. -/
@@ -134,10 +125,7 @@ theorem lift_projectSubobject [HasLimits C] [PreservesLimits T] {A : StructuredA
#align category_theory.structured_arrow.lift_project_subobject CategoryTheory.StructuredArrow.lift_projectSubobject
/- warning: category_theory.structured_arrow.subobject_equiv -> CategoryTheory.StructuredArrow.subobjectEquiv is a dubious translation:
-lean 3 declaration is
- forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u1, u3} D] {S : D} {T : CategoryTheory.Functor.{u1, u1, u2, u3} C _inst_1 D _inst_2} [_inst_3 : CategoryTheory.Limits.HasLimits.{u1, u2} C _inst_1] [_inst_4 : CategoryTheory.Limits.PreservesLimits.{u1, u1, u2, u3} C _inst_1 D _inst_2 T] (A : CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T), OrderIso.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, max u2 u1} (CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.StructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T) A) (Subtype.{succ (max u2 u1)} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (fun (P : CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) => Exists.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CategoryTheory.Subobject.hasCoe.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))))) P))) (fun (q : Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CategoryTheory.Subobject.hasCoe.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))))) P))) => Eq.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) (CategoryTheory.CategoryStruct.comp.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CategoryTheory.Subobject.hasCoe.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))))) P)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) q (CategoryTheory.Functor.map.{u1, u1, u2, u3} C _inst_1 D _inst_2 T ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CategoryTheory.Subobject.hasCoe.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))))) P) (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A) (CategoryTheory.Subobject.arrow.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A) P))) (CategoryTheory.Comma.hom.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))) (Preorder.toHasLe.{max u2 u1} (CategoryTheory.Subobject.{u1, max u2 u1} (CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.StructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T) A) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, max u2 u1} (CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.StructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T) A) (CategoryTheory.Subobject.partialOrder.{max u2 u1, u1} (CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.StructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T) A))) (Subtype.hasLe.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.toHasLe.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Subobject.partialOrder.{u2, u1} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))) (fun (P : CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) => Exists.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CategoryTheory.Subobject.hasCoe.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))))) P))) (fun (q : Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CategoryTheory.Subobject.hasCoe.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))))) P))) => Eq.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) (CategoryTheory.CategoryStruct.comp.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CategoryTheory.Subobject.hasCoe.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))))) P)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) q (CategoryTheory.Functor.map.{u1, u1, u2, u3} C _inst_1 D _inst_2 T ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CategoryTheory.Subobject.hasCoe.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))))) P) (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A) (CategoryTheory.Subobject.arrow.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A) P))) (CategoryTheory.Comma.hom.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))))
-but is expected to have type
- forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u1, u3} D] {S : D} {T : CategoryTheory.Functor.{u1, u1, u2, u3} C _inst_1 D _inst_2} [_inst_3 : CategoryTheory.Limits.HasLimits.{u1, u2} C _inst_1] [_inst_4 : CategoryTheory.Limits.PreservesLimits.{u1, u1, u2, u3} C _inst_1 D _inst_2 T] (A : CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T), OrderIso.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, max u2 u1} (CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryStructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) (Subtype.{max (succ u2) (succ u1)} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (fun (P : CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) => Exists.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S)) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))) C _inst_1 (CategoryTheory.Subobject.underlying.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) P))) (fun (q : Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S)) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))) C _inst_1 (CategoryTheory.Subobject.underlying.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) P))) => Eq.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S)) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) (CategoryTheory.CategoryStruct.comp.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S)) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))) C _inst_1 (CategoryTheory.Subobject.underlying.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) P)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) q (Prefunctor.map.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))) C _inst_1 (CategoryTheory.Subobject.underlying.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) P) (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A) (CategoryTheory.Subobject.arrow.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A) P))) (CategoryTheory.Comma.hom.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))) (Preorder.toLE.{max u2 u1} (CategoryTheory.Subobject.{u1, max u2 u1} (CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryStructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, max u2 u1} (CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryStructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) (CategoryTheory.instPartialOrderSubobject.{u1, max u2 u1} (CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryStructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (Subtype.le.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.toLE.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))) (fun (P : CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) => Exists.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S)) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))) C _inst_1 (CategoryTheory.Subobject.underlying.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) P))) (fun (q : Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S)) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))) C _inst_1 (CategoryTheory.Subobject.underlying.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) P))) => Eq.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S)) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) (CategoryTheory.CategoryStruct.comp.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S)) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))) C _inst_1 (CategoryTheory.Subobject.underlying.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) P)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) q (Prefunctor.map.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))) C _inst_1 (CategoryTheory.Subobject.underlying.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) P) (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A) (CategoryTheory.Subobject.arrow.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A) P))) (CategoryTheory.Comma.hom.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))))
+<too large>
Case conversion may be inaccurate. Consider using '#align category_theory.structured_arrow.subobject_equiv CategoryTheory.StructuredArrow.subobjectEquivₓ'. -/
/-- If `A : S → T.obj B` is a structured arrow for `S : D` and `T : C ⥤ D`, then we can explicitly
describe the subobjects of `A` as the subobjects `P` of `B` in `C` for which `A.hom` factors
@@ -203,10 +191,7 @@ theorem projectQuotient_mk [HasColimits C] [PreservesColimits S] {A : Costructur
-/
/- warning: category_theory.costructured_arrow.project_quotient_factors -> CategoryTheory.CostructuredArrow.projectQuotient_factors is a dubious translation:
-lean 3 declaration is
- forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u1, u3} D] {S : CategoryTheory.Functor.{u1, u1, u2, u3} C _inst_1 D _inst_2} {T : D} [_inst_3 : CategoryTheory.Limits.HasColimits.{u1, u2} C _inst_1] [_inst_4 : CategoryTheory.Limits.PreservesColimits.{u1, u1, u2, u3} C _inst_1 D _inst_2 S] {A : CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T} (P : CategoryTheory.Subobject.{u1, max u2 u1} (Opposite.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (CategoryTheory.Category.opposite.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T)) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)), Exists.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) (CategoryTheory.CostructuredArrow.projectQuotient.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)))) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (fun (q : Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) (CategoryTheory.CostructuredArrow.projectQuotient.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)))) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) => Eq.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.comp.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) (CategoryTheory.CostructuredArrow.projectQuotient.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)))) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) (CategoryTheory.Functor.map.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.unop.{succ u2} C ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) (CategoryTheory.CostructuredArrow.projectQuotient.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P))) (Quiver.Hom.unop.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) (CategoryTheory.CostructuredArrow.projectQuotient.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) (CategoryTheory.Subobject.arrow.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) (CategoryTheory.CostructuredArrow.projectQuotient.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)))) q) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))
-but is expected to have type
- forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u1, u3} D] {S : CategoryTheory.Functor.{u1, u1, u2, u3} C _inst_1 D _inst_2} {T : D} [_inst_3 : CategoryTheory.Limits.HasColimits.{u1, u2} C _inst_1] [_inst_4 : CategoryTheory.Limits.PreservesColimits.{u1, u1, u2, u3} C _inst_1 D _inst_2 S] {A : CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T} (P : CategoryTheory.Subobject.{u1, max u2 u1} (Opposite.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (CategoryTheory.Category.opposite.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)), Exists.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (CategoryTheory.CostructuredArrow.projectQuotient.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)))) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (fun (q : Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (CategoryTheory.CostructuredArrow.projectQuotient.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)))) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) => Eq.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.comp.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (CategoryTheory.CostructuredArrow.projectQuotient.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)))) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) (Prefunctor.map.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.unop.{succ u2} C (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (CategoryTheory.CostructuredArrow.projectQuotient.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P))) (Quiver.Hom.unop.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (CategoryTheory.CostructuredArrow.projectQuotient.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) (CategoryTheory.Subobject.arrow.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) (CategoryTheory.CostructuredArrow.projectQuotient.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)))) q) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))
+<too large>
Case conversion may be inaccurate. Consider using '#align category_theory.costructured_arrow.project_quotient_factors CategoryTheory.CostructuredArrow.projectQuotient_factorsₓ'. -/
theorem projectQuotient_factors [HasColimits C] [PreservesColimits S] {A : CostructuredArrow S T} :
∀ P : Subobject (op A), ∃ q, S.map (projectQuotient P).arrow.unop ≫ q = A.Hom :=
@@ -219,10 +204,7 @@ theorem projectQuotient_factors [HasColimits C] [PreservesColimits S] {A : Costr
#align category_theory.costructured_arrow.project_quotient_factors CategoryTheory.CostructuredArrow.projectQuotient_factors
/- warning: category_theory.costructured_arrow.lift_quotient -> CategoryTheory.CostructuredArrow.liftQuotient is a dubious translation:
-lean 3 declaration is
- forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u1, u3} D] {S : CategoryTheory.Functor.{u1, u1, u2, u3} C _inst_1 D _inst_2} {T : D} {A : CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T} (P : CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) {q : Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) P))) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))}, (Eq.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.comp.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) P))) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) (CategoryTheory.Functor.map.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.unop.{succ u2} C ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) P)) (Quiver.Hom.unop.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) P) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) (CategoryTheory.Subobject.arrow.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) P))) q) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) -> (CategoryTheory.Subobject.{u1, max u2 u1} (Opposite.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (CategoryTheory.Category.opposite.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T)) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))
-but is expected to have type
- forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u1, u3} D] {S : CategoryTheory.Functor.{u1, u1, u2, u3} C _inst_1 D _inst_2} {T : D} {A : CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T} (P : CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) {q : Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) P))) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))}, (Eq.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.comp.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) P))) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) (Prefunctor.map.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.unop.{succ u2} C (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) P)) (Quiver.Hom.unop.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) P) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) (CategoryTheory.Subobject.arrow.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) P))) q) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) -> (CategoryTheory.Subobject.{u1, max u2 u1} (Opposite.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (CategoryTheory.Category.opposite.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))
+<too large>
Case conversion may be inaccurate. Consider using '#align category_theory.costructured_arrow.lift_quotient CategoryTheory.CostructuredArrow.liftQuotientₓ'. -/
/-- A quotient of the underlying object of a costructured arrow can be lifted to a quotient of
the costructured arrow, provided that there is a morphism making the quotient into a
@@ -234,10 +216,7 @@ def liftQuotient {A : CostructuredArrow S T} (P : Subobject (op A.left)) {q}
#align category_theory.costructured_arrow.lift_quotient CategoryTheory.CostructuredArrow.liftQuotient
/- warning: category_theory.costructured_arrow.unop_left_comp_underlying_iso_hom_unop -> CategoryTheory.CostructuredArrow.unop_left_comp_underlyingIso_hom_unop is a dubious translation:
-lean 3 declaration is
- forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u1, u3} D] {S : CategoryTheory.Functor.{u1, u1, u2, u3} C _inst_1 D _inst_2} {T : D} {A : CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T} {P : Opposite.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)} (f : Quiver.Hom.{succ u1, max u2 u1} (Opposite.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (Quiver.opposite.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T)))) P (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) [_inst_3 : CategoryTheory.Mono.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P))) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (Quiver.Hom.op.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P)) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T))) P (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) f)))], Eq.{succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (Opposite.unop.{succ u2} C ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))))))) (CategoryTheory.Subobject.mk.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P))) (Quiver.Hom.op.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P)) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T))) P (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) f))) _inst_3)))) (CategoryTheory.CategoryStruct.comp.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P)) (Opposite.unop.{succ u2} C ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))))))) (CategoryTheory.Subobject.mk.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P))) (Quiver.Hom.op.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P)) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T))) P (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) f))) _inst_3))) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T))) P (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) f)) (Quiver.Hom.unop.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))))))) (CategoryTheory.Subobject.mk.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P))) (Quiver.Hom.op.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P)) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T))) P (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) f))) _inst_3)) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P))) (CategoryTheory.Iso.hom.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))))))) (CategoryTheory.Subobject.mk.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P))) (Quiver.Hom.op.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P)) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T))) P (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) f))) _inst_3)) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P))) (CategoryTheory.Subobject.underlyingIso.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P))) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (Quiver.Hom.op.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P)) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T))) P (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) f))) _inst_3)))) (Quiver.Hom.unop.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))))))) (CategoryTheory.Subobject.mk.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P))) (Quiver.Hom.op.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P)) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T))) P (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) f))) _inst_3)) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (CategoryTheory.Subobject.arrow.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (CategoryTheory.Subobject.mk.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P))) (Quiver.Hom.op.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P)) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T))) P (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) f))) _inst_3)))
-but is expected to have type
- forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u1, u3} D] {S : CategoryTheory.Functor.{u1, u1, u2, u3} C _inst_1 D _inst_2} {T : D} {A : CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T} {P : Opposite.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)} (f : Quiver.Hom.{succ u1, max u2 u1} (Opposite.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (Quiver.opposite.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)))) P (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) [_inst_3 : CategoryTheory.Mono.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P))) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (Quiver.Hom.op.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P)) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T))) P (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) f)))], Eq.{succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (Opposite.unop.{succ u2} C (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))))) (CategoryTheory.Subobject.mk.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P))) (Quiver.Hom.op.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P)) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T))) P (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) f))) _inst_3)))) (CategoryTheory.CategoryStruct.comp.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P)) (Opposite.unop.{succ u2} C (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))))) (CategoryTheory.Subobject.mk.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P))) (Quiver.Hom.op.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P)) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T))) P (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) f))) _inst_3))) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T))) P (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) f)) (Quiver.Hom.unop.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))))) (CategoryTheory.Subobject.mk.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P))) (Quiver.Hom.op.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P)) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T))) P (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) f))) _inst_3)) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P))) (CategoryTheory.Iso.hom.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))))) (CategoryTheory.Subobject.mk.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P))) (Quiver.Hom.op.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P)) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T))) P (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) f))) _inst_3)) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P))) (CategoryTheory.Subobject.underlyingIso.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P))) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (Quiver.Hom.op.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P)) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T))) P (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) f))) _inst_3)))) (Quiver.Hom.unop.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))))) (CategoryTheory.Subobject.mk.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P))) (Quiver.Hom.op.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P)) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T))) P (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) f))) _inst_3)) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (CategoryTheory.Subobject.arrow.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (CategoryTheory.Subobject.mk.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P))) (Quiver.Hom.op.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P)) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T))) P (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) f))) _inst_3)))
+<too large>
Case conversion may be inaccurate. Consider using '#align category_theory.costructured_arrow.unop_left_comp_underlying_iso_hom_unop CategoryTheory.CostructuredArrow.unop_left_comp_underlyingIso_hom_unopₓ'. -/
/-- Technical lemma for `lift_project_quotient`. -/
@[simp]
@@ -253,10 +232,7 @@ theorem unop_left_comp_underlyingIso_hom_unop {A : CostructuredArrow S T}
#align category_theory.costructured_arrow.unop_left_comp_underlying_iso_hom_unop CategoryTheory.CostructuredArrow.unop_left_comp_underlyingIso_hom_unop
/- warning: category_theory.costructured_arrow.lift_project_quotient -> CategoryTheory.CostructuredArrow.lift_projectQuotient is a dubious translation:
-lean 3 declaration is
- forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u1, u3} D] {S : CategoryTheory.Functor.{u1, u1, u2, u3} C _inst_1 D _inst_2} {T : D} [_inst_3 : CategoryTheory.Limits.HasColimits.{u1, u2} C _inst_1] [_inst_4 : CategoryTheory.Limits.PreservesColimits.{u1, u1, u2, u3} C _inst_1 D _inst_2 S] {A : CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T} (P : CategoryTheory.Subobject.{u1, max u2 u1} (Opposite.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (CategoryTheory.Category.opposite.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T)) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) {q : Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) (CategoryTheory.CostructuredArrow.projectQuotient.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)))) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))} (hq : Eq.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.comp.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) (CategoryTheory.CostructuredArrow.projectQuotient.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)))) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) (CategoryTheory.Functor.map.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.unop.{succ u2} C ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) (CategoryTheory.CostructuredArrow.projectQuotient.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P))) (Quiver.Hom.unop.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) (CategoryTheory.CostructuredArrow.projectQuotient.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) (CategoryTheory.Subobject.arrow.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) (CategoryTheory.CostructuredArrow.projectQuotient.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)))) q) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)), Eq.{succ (max u2 u1)} (CategoryTheory.Subobject.{u1, max u2 u1} (Opposite.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (CategoryTheory.Category.opposite.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T)) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (CategoryTheory.CostructuredArrow.liftQuotient.{u1, u2, u3} C _inst_1 D _inst_2 S T A (CategoryTheory.CostructuredArrow.projectQuotient.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P) q hq) P
-but is expected to have type
- forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u1, u3} D] {S : CategoryTheory.Functor.{u1, u1, u2, u3} C _inst_1 D _inst_2} {T : D} [_inst_3 : CategoryTheory.Limits.HasColimits.{u1, u2} C _inst_1] [_inst_4 : CategoryTheory.Limits.PreservesColimits.{u1, u1, u2, u3} C _inst_1 D _inst_2 S] {A : CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T} (P : CategoryTheory.Subobject.{u1, max u2 u1} (Opposite.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (CategoryTheory.Category.opposite.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) {q : Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (CategoryTheory.CostructuredArrow.projectQuotient.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)))) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))} (hq : Eq.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.comp.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (CategoryTheory.CostructuredArrow.projectQuotient.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)))) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) (Prefunctor.map.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.unop.{succ u2} C (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (CategoryTheory.CostructuredArrow.projectQuotient.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P))) (Quiver.Hom.unop.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (CategoryTheory.CostructuredArrow.projectQuotient.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) (CategoryTheory.Subobject.arrow.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) (CategoryTheory.CostructuredArrow.projectQuotient.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)))) q) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)), Eq.{max (succ u2) (succ u1)} (CategoryTheory.Subobject.{u1, max u2 u1} (Opposite.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (CategoryTheory.Category.opposite.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (CategoryTheory.CostructuredArrow.liftQuotient.{u1, u2, u3} C _inst_1 D _inst_2 S T A (CategoryTheory.CostructuredArrow.projectQuotient.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P) q hq) P
+<too large>
Case conversion may be inaccurate. Consider using '#align category_theory.costructured_arrow.lift_project_quotient CategoryTheory.CostructuredArrow.lift_projectQuotientₓ'. -/
/-- Projecting and then lifting a quotient recovers the original quotient, because there is at most
one morphism making the projected quotient into a costructured arrow. -/
@@ -281,10 +257,7 @@ theorem lift_projectQuotient [HasColimits C] [PreservesColimits S] {A : Costruct
#align category_theory.costructured_arrow.lift_project_quotient CategoryTheory.CostructuredArrow.lift_projectQuotient
/- warning: category_theory.costructured_arrow.unop_left_comp_of_mk_le_mk_unop -> CategoryTheory.CostructuredArrow.unop_left_comp_ofMkLEMk_unop is a dubious translation:
-lean 3 declaration is
- forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u1, u3} D] {S : CategoryTheory.Functor.{u1, u1, u2, u3} C _inst_1 D _inst_2} {T : D} {A : CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T} {P : Opposite.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)} {Q : Opposite.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)} {f : Quiver.Hom.{succ u1, max u2 u1} (Opposite.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (Quiver.opposite.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T)))) P (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)} {g : Quiver.Hom.{succ u1, max u2 u1} (Opposite.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (Quiver.opposite.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T)))) Q (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)} [_inst_3 : CategoryTheory.Mono.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P))) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (Quiver.Hom.op.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P)) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T))) P (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) f)))] [_inst_4 : CategoryTheory.Mono.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) Q))) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (Quiver.Hom.op.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) Q)) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) Q) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T))) Q (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) g)))] (h : LE.le.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Preorder.toHasLe.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (CategoryTheory.Subobject.partialOrder.{u2, u1} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))))) (CategoryTheory.Subobject.mk.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P))) (Quiver.Hom.op.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P)) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T))) P (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) f))) _inst_3) (CategoryTheory.Subobject.mk.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) Q))) (Quiver.Hom.op.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) Q)) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) Q) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T))) Q (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) g))) _inst_4)), Eq.{succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P))))) (CategoryTheory.CategoryStruct.comp.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) Q)) (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P)))) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) Q) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T))) Q (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) g)) (Quiver.Hom.unop.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P))) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) Q))) (CategoryTheory.Subobject.ofMkLEMk.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P))) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) Q))) (Quiver.Hom.op.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P)) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T))) P (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) f))) (Quiver.Hom.op.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) Q)) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) Q) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T))) Q (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) g))) _inst_3 _inst_4 h))) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T))) P (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) f))
-but is expected to have type
- forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u1, u3} D] {S : CategoryTheory.Functor.{u1, u1, u2, u3} C _inst_1 D _inst_2} {T : D} {A : CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T} {P : Opposite.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)} {Q : Opposite.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)} {f : Quiver.Hom.{succ u1, max u2 u1} (Opposite.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (Quiver.opposite.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)))) P (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)} {g : Quiver.Hom.{succ u1, max u2 u1} (Opposite.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (Quiver.opposite.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)))) Q (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)} [_inst_3 : CategoryTheory.Mono.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P))) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (Quiver.Hom.op.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P)) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T))) P (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) f)))] [_inst_4 : CategoryTheory.Mono.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) Q))) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (Quiver.Hom.op.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) Q)) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) Q) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T))) Q (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) g)))] (h : LE.le.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Preorder.toLE.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))))) (CategoryTheory.Subobject.mk.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P))) (Quiver.Hom.op.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P)) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T))) P (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) f))) _inst_3) (CategoryTheory.Subobject.mk.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) Q))) (Quiver.Hom.op.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) Q)) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) Q) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T))) Q (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) g))) _inst_4)), Eq.{succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P))))) (CategoryTheory.CategoryStruct.comp.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) Q)) (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P)))) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) Q) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T))) Q (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) g)) (Quiver.Hom.unop.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P))) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) Q))) (CategoryTheory.Subobject.ofMkLEMk.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P))) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) Q))) (Quiver.Hom.op.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P)) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T))) P (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) f))) (Quiver.Hom.op.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) Q)) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) Q) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T))) Q (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) g))) _inst_3 _inst_4 h))) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T))) P (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) f))
+<too large>
Case conversion may be inaccurate. Consider using '#align category_theory.costructured_arrow.unop_left_comp_of_mk_le_mk_unop CategoryTheory.CostructuredArrow.unop_left_comp_ofMkLEMk_unopₓ'. -/
/-- Technical lemma for `quotient_equiv`. -/
theorem unop_left_comp_ofMkLEMk_unop {A : CostructuredArrow S T} {P Q : (CostructuredArrow S T)ᵒᵖ}
@@ -300,10 +273,7 @@ theorem unop_left_comp_ofMkLEMk_unop {A : CostructuredArrow S T} {P Q : (Costruc
#align category_theory.costructured_arrow.unop_left_comp_of_mk_le_mk_unop CategoryTheory.CostructuredArrow.unop_left_comp_ofMkLEMk_unop
/- warning: category_theory.costructured_arrow.quotient_equiv -> CategoryTheory.CostructuredArrow.quotientEquiv is a dubious translation:
-lean 3 declaration is
- forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u1, u3} D] {S : CategoryTheory.Functor.{u1, u1, u2, u3} C _inst_1 D _inst_2} {T : D} [_inst_3 : CategoryTheory.Limits.HasColimits.{u1, u2} C _inst_1] [_inst_4 : CategoryTheory.Limits.PreservesColimits.{u1, u1, u2, u3} C _inst_1 D _inst_2 S] (A : CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T), OrderIso.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, max u2 u1} (Opposite.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (CategoryTheory.Category.opposite.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T)) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Subtype.{succ (max u2 u1)} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (fun (P : CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) => Exists.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) P))) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (fun (q : Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) P))) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) => Eq.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.comp.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) P))) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) (CategoryTheory.Functor.map.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.unop.{succ u2} C ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) P)) (Quiver.Hom.unop.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) P) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) (CategoryTheory.Subobject.arrow.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) P))) q) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (Preorder.toHasLe.{max u2 u1} (CategoryTheory.Subobject.{u1, max u2 u1} (Opposite.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (CategoryTheory.Category.opposite.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T)) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, max u2 u1} (Opposite.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (CategoryTheory.Category.opposite.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T)) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (CategoryTheory.Subobject.partialOrder.{max u2 u1, u1} (Opposite.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (CategoryTheory.Category.opposite.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T)) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (Subtype.hasLe.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.toHasLe.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.Subobject.partialOrder.{u2, u1} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (fun (P : CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) => Exists.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) P))) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (fun (q : Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) P))) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) => Eq.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.comp.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) P))) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) (CategoryTheory.Functor.map.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.unop.{succ u2} C ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) P)) (Quiver.Hom.unop.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) P) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) (CategoryTheory.Subobject.arrow.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) P))) q) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))
-but is expected to have type
- forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u1, u3} D] {S : CategoryTheory.Functor.{u1, u1, u2, u3} C _inst_1 D _inst_2} {T : D} [_inst_3 : CategoryTheory.Limits.HasColimits.{u1, u2} C _inst_1] [_inst_4 : CategoryTheory.Limits.PreservesColimits.{u1, u1, u2, u3} C _inst_1 D _inst_2 S] (A : CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T), OrderIso.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, max u2 u1} (Opposite.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (CategoryTheory.Category.opposite.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Subtype.{max (succ u2) (succ u1)} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (fun (P : CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) => Exists.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) P))) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (fun (q : Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) P))) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) => Eq.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.comp.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) P))) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) (Prefunctor.map.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.unop.{succ u2} C (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) P)) (Quiver.Hom.unop.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) P) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) (CategoryTheory.Subobject.arrow.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) P))) q) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (Preorder.toLE.{max u2 u1} (CategoryTheory.Subobject.{u1, max u2 u1} (Opposite.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (CategoryTheory.Category.opposite.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, max u2 u1} (Opposite.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (CategoryTheory.Category.opposite.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (CategoryTheory.instPartialOrderSubobject.{u1, max u2 u1} (Opposite.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (CategoryTheory.Category.opposite.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (Subtype.le.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.toLE.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (fun (P : CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) => Exists.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) P))) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (fun (q : Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) P))) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) => Eq.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.comp.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) P))) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) (Prefunctor.map.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.unop.{succ u2} C (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) P)) (Quiver.Hom.unop.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) P) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) (CategoryTheory.Subobject.arrow.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) P))) q) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))
+<too large>
Case conversion may be inaccurate. Consider using '#align category_theory.costructured_arrow.quotient_equiv CategoryTheory.CostructuredArrow.quotientEquivₓ'. -/
/-- If `A : S.obj B ⟶ T` is a costructured arrow for `S : C ⥤ D` and `T : D`, then we can
explicitly describe the quotients of `A` as the quotients `P` of `B` in `C` for which `A.hom`
mathlib commit https://github.com/leanprover-community/mathlib/commit/0b9eaaa7686280fad8cce467f5c3c57ee6ce77f8
@@ -135,7 +135,7 @@ theorem lift_projectSubobject [HasLimits C] [PreservesLimits T] {A : StructuredA
/- warning: category_theory.structured_arrow.subobject_equiv -> CategoryTheory.StructuredArrow.subobjectEquiv is a dubious translation:
lean 3 declaration is
- forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u1, u3} D] {S : D} {T : CategoryTheory.Functor.{u1, u1, u2, u3} C _inst_1 D _inst_2} [_inst_3 : CategoryTheory.Limits.HasLimits.{u1, u2} C _inst_1] [_inst_4 : CategoryTheory.Limits.PreservesLimits.{u1, u1, u2, u3} C _inst_1 D _inst_2 T] (A : CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T), OrderIso.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, max u2 u1} (CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.StructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T) A) (Subtype.{succ (max u2 u1)} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (fun (P : CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) => Exists.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CategoryTheory.Subobject.hasCoe.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))))) P))) (fun (q : Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CategoryTheory.Subobject.hasCoe.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))))) P))) => Eq.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) (CategoryTheory.CategoryStruct.comp.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CategoryTheory.Subobject.hasCoe.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))))) P)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) q (CategoryTheory.Functor.map.{u1, u1, u2, u3} C _inst_1 D _inst_2 T ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CategoryTheory.Subobject.hasCoe.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))))) P) (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A) (CategoryTheory.Subobject.arrow.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A) P))) (CategoryTheory.Comma.hom.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))) (Preorder.toLE.{max u2 u1} (CategoryTheory.Subobject.{u1, max u2 u1} (CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.StructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T) A) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, max u2 u1} (CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.StructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T) A) (CategoryTheory.Subobject.partialOrder.{max u2 u1, u1} (CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.StructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T) A))) (Subtype.hasLe.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.toLE.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Subobject.partialOrder.{u2, u1} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))) (fun (P : CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) => Exists.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CategoryTheory.Subobject.hasCoe.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))))) P))) (fun (q : Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CategoryTheory.Subobject.hasCoe.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))))) P))) => Eq.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) (CategoryTheory.CategoryStruct.comp.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CategoryTheory.Subobject.hasCoe.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))))) P)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) q (CategoryTheory.Functor.map.{u1, u1, u2, u3} C _inst_1 D _inst_2 T ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CategoryTheory.Subobject.hasCoe.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))))) P) (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A) (CategoryTheory.Subobject.arrow.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A) P))) (CategoryTheory.Comma.hom.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))))
+ forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u1, u3} D] {S : D} {T : CategoryTheory.Functor.{u1, u1, u2, u3} C _inst_1 D _inst_2} [_inst_3 : CategoryTheory.Limits.HasLimits.{u1, u2} C _inst_1] [_inst_4 : CategoryTheory.Limits.PreservesLimits.{u1, u1, u2, u3} C _inst_1 D _inst_2 T] (A : CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T), OrderIso.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, max u2 u1} (CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.StructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T) A) (Subtype.{succ (max u2 u1)} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (fun (P : CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) => Exists.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CategoryTheory.Subobject.hasCoe.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))))) P))) (fun (q : Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CategoryTheory.Subobject.hasCoe.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))))) P))) => Eq.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) (CategoryTheory.CategoryStruct.comp.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CategoryTheory.Subobject.hasCoe.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))))) P)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) q (CategoryTheory.Functor.map.{u1, u1, u2, u3} C _inst_1 D _inst_2 T ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CategoryTheory.Subobject.hasCoe.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))))) P) (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A) (CategoryTheory.Subobject.arrow.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A) P))) (CategoryTheory.Comma.hom.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))) (Preorder.toHasLe.{max u2 u1} (CategoryTheory.Subobject.{u1, max u2 u1} (CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.StructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T) A) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, max u2 u1} (CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.StructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T) A) (CategoryTheory.Subobject.partialOrder.{max u2 u1, u1} (CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.StructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T) A))) (Subtype.hasLe.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.toHasLe.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Subobject.partialOrder.{u2, u1} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))) (fun (P : CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) => Exists.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CategoryTheory.Subobject.hasCoe.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))))) P))) (fun (q : Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CategoryTheory.Subobject.hasCoe.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))))) P))) => Eq.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) (CategoryTheory.CategoryStruct.comp.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CategoryTheory.Subobject.hasCoe.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))))) P)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) q (CategoryTheory.Functor.map.{u1, u1, u2, u3} C _inst_1 D _inst_2 T ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CategoryTheory.Subobject.hasCoe.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))))) P) (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A) (CategoryTheory.Subobject.arrow.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A) P))) (CategoryTheory.Comma.hom.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))))
but is expected to have type
forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u1, u3} D] {S : D} {T : CategoryTheory.Functor.{u1, u1, u2, u3} C _inst_1 D _inst_2} [_inst_3 : CategoryTheory.Limits.HasLimits.{u1, u2} C _inst_1] [_inst_4 : CategoryTheory.Limits.PreservesLimits.{u1, u1, u2, u3} C _inst_1 D _inst_2 T] (A : CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T), OrderIso.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, max u2 u1} (CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryStructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) (Subtype.{max (succ u2) (succ u1)} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (fun (P : CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) => Exists.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S)) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))) C _inst_1 (CategoryTheory.Subobject.underlying.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) P))) (fun (q : Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S)) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))) C _inst_1 (CategoryTheory.Subobject.underlying.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) P))) => Eq.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S)) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) (CategoryTheory.CategoryStruct.comp.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S)) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))) C _inst_1 (CategoryTheory.Subobject.underlying.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) P)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) q (Prefunctor.map.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))) C _inst_1 (CategoryTheory.Subobject.underlying.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) P) (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A) (CategoryTheory.Subobject.arrow.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A) P))) (CategoryTheory.Comma.hom.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))) (Preorder.toLE.{max u2 u1} (CategoryTheory.Subobject.{u1, max u2 u1} (CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryStructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, max u2 u1} (CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryStructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) (CategoryTheory.instPartialOrderSubobject.{u1, max u2 u1} (CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryStructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (Subtype.le.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.toLE.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))) (fun (P : CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) => Exists.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S)) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))) C _inst_1 (CategoryTheory.Subobject.underlying.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) P))) (fun (q : Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S)) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))) C _inst_1 (CategoryTheory.Subobject.underlying.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) P))) => Eq.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S)) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) (CategoryTheory.CategoryStruct.comp.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S)) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))) C _inst_1 (CategoryTheory.Subobject.underlying.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) P)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) q (Prefunctor.map.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))) C _inst_1 (CategoryTheory.Subobject.underlying.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) P) (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A) (CategoryTheory.Subobject.arrow.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A) P))) (CategoryTheory.Comma.hom.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))))
Case conversion may be inaccurate. Consider using '#align category_theory.structured_arrow.subobject_equiv CategoryTheory.StructuredArrow.subobjectEquivₓ'. -/
@@ -280,7 +280,12 @@ theorem lift_projectQuotient [HasColimits C] [PreservesColimits S] {A : Costruct
simp)))
#align category_theory.costructured_arrow.lift_project_quotient CategoryTheory.CostructuredArrow.lift_projectQuotient
-#print CategoryTheory.CostructuredArrow.unop_left_comp_ofMkLEMk_unop /-
+/- warning: category_theory.costructured_arrow.unop_left_comp_of_mk_le_mk_unop -> CategoryTheory.CostructuredArrow.unop_left_comp_ofMkLEMk_unop is a dubious translation:
+lean 3 declaration is
+ forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u1, u3} D] {S : CategoryTheory.Functor.{u1, u1, u2, u3} C _inst_1 D _inst_2} {T : D} {A : CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T} {P : Opposite.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)} {Q : Opposite.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)} {f : Quiver.Hom.{succ u1, max u2 u1} (Opposite.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (Quiver.opposite.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T)))) P (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)} {g : Quiver.Hom.{succ u1, max u2 u1} (Opposite.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (Quiver.opposite.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T)))) Q (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)} [_inst_3 : CategoryTheory.Mono.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P))) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (Quiver.Hom.op.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P)) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T))) P (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) f)))] [_inst_4 : CategoryTheory.Mono.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) Q))) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (Quiver.Hom.op.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) Q)) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) Q) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T))) Q (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) g)))] (h : LE.le.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Preorder.toHasLe.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (CategoryTheory.Subobject.partialOrder.{u2, u1} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))))) (CategoryTheory.Subobject.mk.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P))) (Quiver.Hom.op.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P)) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T))) P (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) f))) _inst_3) (CategoryTheory.Subobject.mk.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) Q))) (Quiver.Hom.op.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) Q)) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) Q) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T))) Q (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) g))) _inst_4)), Eq.{succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P))))) (CategoryTheory.CategoryStruct.comp.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) Q)) (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P)))) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) Q) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T))) Q (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) g)) (Quiver.Hom.unop.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P))) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) Q))) (CategoryTheory.Subobject.ofMkLEMk.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P))) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) Q))) (Quiver.Hom.op.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P)) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T))) P (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) f))) (Quiver.Hom.op.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) Q)) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) Q) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T))) Q (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) g))) _inst_3 _inst_4 h))) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T))) P (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) f))
+but is expected to have type
+ forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u1, u3} D] {S : CategoryTheory.Functor.{u1, u1, u2, u3} C _inst_1 D _inst_2} {T : D} {A : CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T} {P : Opposite.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)} {Q : Opposite.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)} {f : Quiver.Hom.{succ u1, max u2 u1} (Opposite.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (Quiver.opposite.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)))) P (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)} {g : Quiver.Hom.{succ u1, max u2 u1} (Opposite.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (Quiver.opposite.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)))) Q (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)} [_inst_3 : CategoryTheory.Mono.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P))) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (Quiver.Hom.op.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P)) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T))) P (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) f)))] [_inst_4 : CategoryTheory.Mono.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) Q))) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (Quiver.Hom.op.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) Q)) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) Q) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T))) Q (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) g)))] (h : LE.le.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Preorder.toLE.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))))) (CategoryTheory.Subobject.mk.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P))) (Quiver.Hom.op.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P)) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T))) P (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) f))) _inst_3) (CategoryTheory.Subobject.mk.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) Q))) (Quiver.Hom.op.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) Q)) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) Q) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T))) Q (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) g))) _inst_4)), Eq.{succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P))))) (CategoryTheory.CategoryStruct.comp.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) Q)) (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P)))) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) Q) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T))) Q (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) g)) (Quiver.Hom.unop.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P))) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) Q))) (CategoryTheory.Subobject.ofMkLEMk.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P))) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) Q))) (Quiver.Hom.op.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P)) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T))) P (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) f))) (Quiver.Hom.op.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) Q)) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) Q) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T))) Q (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) g))) _inst_3 _inst_4 h))) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T))) P (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) f))
+Case conversion may be inaccurate. Consider using '#align category_theory.costructured_arrow.unop_left_comp_of_mk_le_mk_unop CategoryTheory.CostructuredArrow.unop_left_comp_ofMkLEMk_unopₓ'. -/
/-- Technical lemma for `quotient_equiv`. -/
theorem unop_left_comp_ofMkLEMk_unop {A : CostructuredArrow S T} {P Q : (CostructuredArrow S T)ᵒᵖ}
{f : P ⟶ op A} {g : Q ⟶ op A} [Mono f.unop.left.op] [Mono g.unop.left.op]
@@ -293,11 +298,10 @@ theorem unop_left_comp_ofMkLEMk_unop {A : CostructuredArrow S T} {P Q : (Costruc
rw [← unop_comp]
simp only [subobject.of_mk_le_mk_comp, Quiver.Hom.unop_op]
#align category_theory.costructured_arrow.unop_left_comp_of_mk_le_mk_unop CategoryTheory.CostructuredArrow.unop_left_comp_ofMkLEMk_unop
--/
/- warning: category_theory.costructured_arrow.quotient_equiv -> CategoryTheory.CostructuredArrow.quotientEquiv is a dubious translation:
lean 3 declaration is
- forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u1, u3} D] {S : CategoryTheory.Functor.{u1, u1, u2, u3} C _inst_1 D _inst_2} {T : D} [_inst_3 : CategoryTheory.Limits.HasColimits.{u1, u2} C _inst_1] [_inst_4 : CategoryTheory.Limits.PreservesColimits.{u1, u1, u2, u3} C _inst_1 D _inst_2 S] (A : CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T), OrderIso.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, max u2 u1} (Opposite.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (CategoryTheory.Category.opposite.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T)) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Subtype.{succ (max u2 u1)} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (fun (P : CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) => Exists.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) P))) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (fun (q : Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) P))) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) => Eq.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.comp.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) P))) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) (CategoryTheory.Functor.map.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.unop.{succ u2} C ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) P)) (Quiver.Hom.unop.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) P) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) (CategoryTheory.Subobject.arrow.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) P))) q) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (Preorder.toLE.{max u2 u1} (CategoryTheory.Subobject.{u1, max u2 u1} (Opposite.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (CategoryTheory.Category.opposite.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T)) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, max u2 u1} (Opposite.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (CategoryTheory.Category.opposite.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T)) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (CategoryTheory.Subobject.partialOrder.{max u2 u1, u1} (Opposite.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (CategoryTheory.Category.opposite.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T)) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (Subtype.hasLe.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.toLE.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.Subobject.partialOrder.{u2, u1} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (fun (P : CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) => Exists.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) P))) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (fun (q : Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) P))) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) => Eq.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.comp.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) P))) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) (CategoryTheory.Functor.map.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.unop.{succ u2} C ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) P)) (Quiver.Hom.unop.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) P) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) (CategoryTheory.Subobject.arrow.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) P))) q) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))
+ forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u1, u3} D] {S : CategoryTheory.Functor.{u1, u1, u2, u3} C _inst_1 D _inst_2} {T : D} [_inst_3 : CategoryTheory.Limits.HasColimits.{u1, u2} C _inst_1] [_inst_4 : CategoryTheory.Limits.PreservesColimits.{u1, u1, u2, u3} C _inst_1 D _inst_2 S] (A : CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T), OrderIso.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, max u2 u1} (Opposite.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (CategoryTheory.Category.opposite.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T)) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Subtype.{succ (max u2 u1)} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (fun (P : CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) => Exists.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) P))) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (fun (q : Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) P))) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) => Eq.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.comp.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) P))) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) (CategoryTheory.Functor.map.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.unop.{succ u2} C ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) P)) (Quiver.Hom.unop.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) P) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) (CategoryTheory.Subobject.arrow.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) P))) q) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (Preorder.toHasLe.{max u2 u1} (CategoryTheory.Subobject.{u1, max u2 u1} (Opposite.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (CategoryTheory.Category.opposite.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T)) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, max u2 u1} (Opposite.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (CategoryTheory.Category.opposite.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T)) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (CategoryTheory.Subobject.partialOrder.{max u2 u1, u1} (Opposite.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (CategoryTheory.Category.opposite.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T)) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (Subtype.hasLe.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.toHasLe.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.Subobject.partialOrder.{u2, u1} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (fun (P : CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) => Exists.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) P))) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (fun (q : Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) P))) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) => Eq.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.comp.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) P))) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) (CategoryTheory.Functor.map.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.unop.{succ u2} C ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) P)) (Quiver.Hom.unop.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) P) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) (CategoryTheory.Subobject.arrow.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) P))) q) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))
but is expected to have type
forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u1, u3} D] {S : CategoryTheory.Functor.{u1, u1, u2, u3} C _inst_1 D _inst_2} {T : D} [_inst_3 : CategoryTheory.Limits.HasColimits.{u1, u2} C _inst_1] [_inst_4 : CategoryTheory.Limits.PreservesColimits.{u1, u1, u2, u3} C _inst_1 D _inst_2 S] (A : CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T), OrderIso.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, max u2 u1} (Opposite.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (CategoryTheory.Category.opposite.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Subtype.{max (succ u2) (succ u1)} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (fun (P : CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) => Exists.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) P))) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (fun (q : Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) P))) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) => Eq.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.comp.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) P))) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) (Prefunctor.map.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.unop.{succ u2} C (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) P)) (Quiver.Hom.unop.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) P) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) (CategoryTheory.Subobject.arrow.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) P))) q) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (Preorder.toLE.{max u2 u1} (CategoryTheory.Subobject.{u1, max u2 u1} (Opposite.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (CategoryTheory.Category.opposite.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, max u2 u1} (Opposite.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (CategoryTheory.Category.opposite.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (CategoryTheory.instPartialOrderSubobject.{u1, max u2 u1} (Opposite.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (CategoryTheory.Category.opposite.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (Subtype.le.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.toLE.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (fun (P : CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) => Exists.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) P))) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (fun (q : Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) P))) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) => Eq.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.comp.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) P))) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) (Prefunctor.map.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.unop.{succ u2} C (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) P)) (Quiver.Hom.unop.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) P) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) (CategoryTheory.Subobject.arrow.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) P))) q) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))
Case conversion may be inaccurate. Consider using '#align category_theory.costructured_arrow.quotient_equiv CategoryTheory.CostructuredArrow.quotientEquivₓ'. -/
mathlib commit https://github.com/leanprover-community/mathlib/commit/fa78268d4d77cb2b2fbc89f0527e2e7807763780
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
Authors: Markus Himmel
! This file was ported from Lean 3 source module category_theory.subobject.comma
-! leanprover-community/mathlib commit 70fd9563a21e7b963887c9360bd29b2393e6225a
+! leanprover-community/mathlib commit 9d2f0748e6c50d7a2657c564b1ff2c695b39148d
! Please do not edit these lines, except to modify the commit id
! if you have ported upstream changes.
-/
@@ -15,6 +15,9 @@ import Mathbin.CategoryTheory.Limits.Shapes.FiniteLimits
/-!
# Subobjects in the category of structured arrows
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
We compute the subobjects of an object `A` in the category `structured_arrow S T` for `T : C ⥤ D`
and `S : D` as a subtype of the subobjects of `A.right`. We deduce that `structured_arrow S T` is
well-powered if `C` is.
mathlib commit https://github.com/leanprover-community/mathlib/commit/2651125b48fc5c170ab1111afd0817c903b1fc6c
@@ -48,6 +48,7 @@ namespace StructuredArrow
variable {S : D} {T : C ⥤ D}
+#print CategoryTheory.StructuredArrow.projectSubobject /-
/-- Every subobject of a structured arrow can be projected to a subobject of the underlying
object. -/
def projectSubobject [HasLimits C] [PreservesLimits T] {A : StructuredArrow S T} :
@@ -58,13 +59,22 @@ def projectSubobject [HasLimits C] [PreservesLimits T] {A : StructuredArrow S T}
refine' subobject.mk_eq_mk_of_comm _ _ ((proj S T).mapIso i) _
exact congr_arg comma_morphism.right hi
#align category_theory.structured_arrow.project_subobject CategoryTheory.StructuredArrow.projectSubobject
+-/
+#print CategoryTheory.StructuredArrow.projectSubobject_mk /-
@[simp]
theorem projectSubobject_mk [HasLimits C] [PreservesLimits T] {A P : StructuredArrow S T}
(f : P ⟶ A) [Mono f] : projectSubobject (Subobject.mk f) = Subobject.mk f.right :=
rfl
#align category_theory.structured_arrow.project_subobject_mk CategoryTheory.StructuredArrow.projectSubobject_mk
+-/
+/- warning: category_theory.structured_arrow.project_subobject_factors -> CategoryTheory.StructuredArrow.projectSubobject_factors is a dubious translation:
+lean 3 declaration is
+ forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u1, u3} D] {S : D} {T : CategoryTheory.Functor.{u1, u1, u2, u3} C _inst_1 D _inst_2} [_inst_3 : CategoryTheory.Limits.HasLimits.{u1, u2} C _inst_1] [_inst_4 : CategoryTheory.Limits.PreservesLimits.{u1, u1, u2, u3} C _inst_1 D _inst_2 T] {A : CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T} (P : CategoryTheory.Subobject.{u1, max u2 u1} (CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.StructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T) A), Exists.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CategoryTheory.Subobject.hasCoe.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))))) (CategoryTheory.StructuredArrow.projectSubobject.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)))) (fun (q : Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CategoryTheory.Subobject.hasCoe.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))))) (CategoryTheory.StructuredArrow.projectSubobject.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)))) => Eq.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) (CategoryTheory.CategoryStruct.comp.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CategoryTheory.Subobject.hasCoe.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))))) (CategoryTheory.StructuredArrow.projectSubobject.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P))) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) q (CategoryTheory.Functor.map.{u1, u1, u2, u3} C _inst_1 D _inst_2 T ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CategoryTheory.Subobject.hasCoe.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))))) (CategoryTheory.StructuredArrow.projectSubobject.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)) (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A) (CategoryTheory.Subobject.arrow.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A) (CategoryTheory.StructuredArrow.projectSubobject.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)))) (CategoryTheory.Comma.hom.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))
+but is expected to have type
+ forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u1, u3} D] {S : D} {T : CategoryTheory.Functor.{u1, u1, u2, u3} C _inst_1 D _inst_2} [_inst_3 : CategoryTheory.Limits.HasLimits.{u1, u2} C _inst_1] [_inst_4 : CategoryTheory.Limits.PreservesLimits.{u1, u1, u2, u3} C _inst_1 D _inst_2 T] {A : CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T} (P : CategoryTheory.Subobject.{u1, max u2 u1} (CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryStructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A), Exists.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S)) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))) C _inst_1 (CategoryTheory.Subobject.underlying.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) (CategoryTheory.StructuredArrow.projectSubobject.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)))) (fun (q : Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S)) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))) C _inst_1 (CategoryTheory.Subobject.underlying.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) (CategoryTheory.StructuredArrow.projectSubobject.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)))) => Eq.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S)) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) (CategoryTheory.CategoryStruct.comp.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S)) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))) C _inst_1 (CategoryTheory.Subobject.underlying.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) (CategoryTheory.StructuredArrow.projectSubobject.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P))) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) q (Prefunctor.map.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))) C _inst_1 (CategoryTheory.Subobject.underlying.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) (CategoryTheory.StructuredArrow.projectSubobject.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)) (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A) (CategoryTheory.Subobject.arrow.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A) (CategoryTheory.StructuredArrow.projectSubobject.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)))) (CategoryTheory.Comma.hom.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))
+Case conversion may be inaccurate. Consider using '#align category_theory.structured_arrow.project_subobject_factors CategoryTheory.StructuredArrow.projectSubobject_factorsₓ'. -/
theorem projectSubobject_factors [HasLimits C] [PreservesLimits T] {A : StructuredArrow S T} :
∀ P : Subobject A, ∃ q, q ≫ T.map (projectSubobject P).arrow = A.Hom :=
Subobject.ind _ fun P f hf =>
@@ -74,6 +84,12 @@ theorem projectSubobject_factors [HasLimits C] [PreservesLimits T] {A : Structur
simp [← T.map_comp]⟩
#align category_theory.structured_arrow.project_subobject_factors CategoryTheory.StructuredArrow.projectSubobject_factors
+/- warning: category_theory.structured_arrow.lift_subobject -> CategoryTheory.StructuredArrow.liftSubobject is a dubious translation:
+lean 3 declaration is
+ forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u1, u3} D] {S : D} {T : CategoryTheory.Functor.{u1, u1, u2, u3} C _inst_1 D _inst_2} {A : CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T} (P : CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) {q : Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CategoryTheory.Subobject.hasCoe.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))))) P))}, (Eq.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) (CategoryTheory.CategoryStruct.comp.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CategoryTheory.Subobject.hasCoe.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))))) P)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) q (CategoryTheory.Functor.map.{u1, u1, u2, u3} C _inst_1 D _inst_2 T ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CategoryTheory.Subobject.hasCoe.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))))) P) (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A) (CategoryTheory.Subobject.arrow.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A) P))) (CategoryTheory.Comma.hom.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) -> (CategoryTheory.Subobject.{u1, max u2 u1} (CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.StructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T) A)
+but is expected to have type
+ forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u1, u3} D] {S : D} {T : CategoryTheory.Functor.{u1, u1, u2, u3} C _inst_1 D _inst_2} {A : CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T} (P : CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) {q : Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S)) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))) C _inst_1 (CategoryTheory.Subobject.underlying.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) P))}, (Eq.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S)) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) (CategoryTheory.CategoryStruct.comp.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S)) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))) C _inst_1 (CategoryTheory.Subobject.underlying.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) P)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) q (Prefunctor.map.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))) C _inst_1 (CategoryTheory.Subobject.underlying.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) P) (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A) (CategoryTheory.Subobject.arrow.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A) P))) (CategoryTheory.Comma.hom.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) -> (CategoryTheory.Subobject.{u1, max u2 u1} (CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryStructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)
+Case conversion may be inaccurate. Consider using '#align category_theory.structured_arrow.lift_subobject CategoryTheory.StructuredArrow.liftSubobjectₓ'. -/
/-- A subobject of the underlying object of a structured arrow can be lifted to a subobject of
the structured arrow, provided that there is a morphism making the subobject into a structured
arrow. -/
@@ -83,6 +99,12 @@ def liftSubobject {A : StructuredArrow S T} (P : Subobject A.right) {q}
Subobject.mk (homMk P.arrow hq : mk q ⟶ A)
#align category_theory.structured_arrow.lift_subobject CategoryTheory.StructuredArrow.liftSubobject
+/- warning: category_theory.structured_arrow.lift_project_subobject -> CategoryTheory.StructuredArrow.lift_projectSubobject is a dubious translation:
+lean 3 declaration is
+ forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u1, u3} D] {S : D} {T : CategoryTheory.Functor.{u1, u1, u2, u3} C _inst_1 D _inst_2} [_inst_3 : CategoryTheory.Limits.HasLimits.{u1, u2} C _inst_1] [_inst_4 : CategoryTheory.Limits.PreservesLimits.{u1, u1, u2, u3} C _inst_1 D _inst_2 T] {A : CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T} (P : CategoryTheory.Subobject.{u1, max u2 u1} (CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.StructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T) A) {q : Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CategoryTheory.Subobject.hasCoe.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))))) (CategoryTheory.StructuredArrow.projectSubobject.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)))} (hq : Eq.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) (CategoryTheory.CategoryStruct.comp.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CategoryTheory.Subobject.hasCoe.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))))) (CategoryTheory.StructuredArrow.projectSubobject.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P))) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) q (CategoryTheory.Functor.map.{u1, u1, u2, u3} C _inst_1 D _inst_2 T ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CategoryTheory.Subobject.hasCoe.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))))) (CategoryTheory.StructuredArrow.projectSubobject.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)) (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A) (CategoryTheory.Subobject.arrow.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A) (CategoryTheory.StructuredArrow.projectSubobject.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)))) (CategoryTheory.Comma.hom.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)), Eq.{succ (max u2 u1)} (CategoryTheory.Subobject.{u1, max u2 u1} (CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.StructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T) A) (CategoryTheory.StructuredArrow.liftSubobject.{u1, u2, u3} C _inst_1 D _inst_2 S T A (CategoryTheory.StructuredArrow.projectSubobject.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P) q hq) P
+but is expected to have type
+ forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u1, u3} D] {S : D} {T : CategoryTheory.Functor.{u1, u1, u2, u3} C _inst_1 D _inst_2} [_inst_3 : CategoryTheory.Limits.HasLimits.{u1, u2} C _inst_1] [_inst_4 : CategoryTheory.Limits.PreservesLimits.{u1, u1, u2, u3} C _inst_1 D _inst_2 T] {A : CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T} (P : CategoryTheory.Subobject.{u1, max u2 u1} (CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryStructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) {q : Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S)) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))) C _inst_1 (CategoryTheory.Subobject.underlying.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) (CategoryTheory.StructuredArrow.projectSubobject.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)))} (hq : Eq.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S)) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) (CategoryTheory.CategoryStruct.comp.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S)) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))) C _inst_1 (CategoryTheory.Subobject.underlying.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) (CategoryTheory.StructuredArrow.projectSubobject.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P))) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) q (Prefunctor.map.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))) C _inst_1 (CategoryTheory.Subobject.underlying.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) (CategoryTheory.StructuredArrow.projectSubobject.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)) (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A) (CategoryTheory.Subobject.arrow.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A) (CategoryTheory.StructuredArrow.projectSubobject.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)))) (CategoryTheory.Comma.hom.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)), Eq.{max (succ u2) (succ u1)} (CategoryTheory.Subobject.{u1, max u2 u1} (CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryStructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) (CategoryTheory.StructuredArrow.liftSubobject.{u1, u2, u3} C _inst_1 D _inst_2 S T A (CategoryTheory.StructuredArrow.projectSubobject.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P) q hq) P
+Case conversion may be inaccurate. Consider using '#align category_theory.structured_arrow.lift_project_subobject CategoryTheory.StructuredArrow.lift_projectSubobjectₓ'. -/
/-- Projecting and then lifting a subobject recovers the original subobject, because there is at
most one morphism making the projected subobject into a structured arrow. -/
theorem lift_projectSubobject [HasLimits C] [PreservesLimits T] {A : StructuredArrow S T} :
@@ -108,6 +130,12 @@ theorem lift_projectSubobject [HasLimits C] [PreservesLimits T] {A : StructuredA
simp))
#align category_theory.structured_arrow.lift_project_subobject CategoryTheory.StructuredArrow.lift_projectSubobject
+/- warning: category_theory.structured_arrow.subobject_equiv -> CategoryTheory.StructuredArrow.subobjectEquiv is a dubious translation:
+lean 3 declaration is
+ forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u1, u3} D] {S : D} {T : CategoryTheory.Functor.{u1, u1, u2, u3} C _inst_1 D _inst_2} [_inst_3 : CategoryTheory.Limits.HasLimits.{u1, u2} C _inst_1] [_inst_4 : CategoryTheory.Limits.PreservesLimits.{u1, u1, u2, u3} C _inst_1 D _inst_2 T] (A : CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T), OrderIso.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, max u2 u1} (CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.StructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T) A) (Subtype.{succ (max u2 u1)} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (fun (P : CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) => Exists.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CategoryTheory.Subobject.hasCoe.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))))) P))) (fun (q : Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CategoryTheory.Subobject.hasCoe.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))))) P))) => Eq.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) (CategoryTheory.CategoryStruct.comp.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CategoryTheory.Subobject.hasCoe.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))))) P)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) q (CategoryTheory.Functor.map.{u1, u1, u2, u3} C _inst_1 D _inst_2 T ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CategoryTheory.Subobject.hasCoe.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))))) P) (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A) (CategoryTheory.Subobject.arrow.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A) P))) (CategoryTheory.Comma.hom.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))) (Preorder.toLE.{max u2 u1} (CategoryTheory.Subobject.{u1, max u2 u1} (CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.StructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T) A) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, max u2 u1} (CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.StructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T) A) (CategoryTheory.Subobject.partialOrder.{max u2 u1, u1} (CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.StructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T) A))) (Subtype.hasLe.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.toLE.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Subobject.partialOrder.{u2, u1} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))) (fun (P : CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) => Exists.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CategoryTheory.Subobject.hasCoe.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))))) P))) (fun (q : Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CategoryTheory.Subobject.hasCoe.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))))) P))) => Eq.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) (CategoryTheory.CategoryStruct.comp.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CategoryTheory.Subobject.hasCoe.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))))) P)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) q (CategoryTheory.Functor.map.{u1, u1, u2, u3} C _inst_1 D _inst_2 T ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CategoryTheory.Subobject.hasCoe.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))))) P) (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A) (CategoryTheory.Subobject.arrow.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A) P))) (CategoryTheory.Comma.hom.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))))
+but is expected to have type
+ forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u1, u3} D] {S : D} {T : CategoryTheory.Functor.{u1, u1, u2, u3} C _inst_1 D _inst_2} [_inst_3 : CategoryTheory.Limits.HasLimits.{u1, u2} C _inst_1] [_inst_4 : CategoryTheory.Limits.PreservesLimits.{u1, u1, u2, u3} C _inst_1 D _inst_2 T] (A : CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T), OrderIso.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, max u2 u1} (CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryStructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) (Subtype.{max (succ u2) (succ u1)} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (fun (P : CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) => Exists.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S)) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))) C _inst_1 (CategoryTheory.Subobject.underlying.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) P))) (fun (q : Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S)) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))) C _inst_1 (CategoryTheory.Subobject.underlying.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) P))) => Eq.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S)) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) (CategoryTheory.CategoryStruct.comp.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S)) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))) C _inst_1 (CategoryTheory.Subobject.underlying.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) P)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) q (Prefunctor.map.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))) C _inst_1 (CategoryTheory.Subobject.underlying.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) P) (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A) (CategoryTheory.Subobject.arrow.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A) P))) (CategoryTheory.Comma.hom.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))) (Preorder.toLE.{max u2 u1} (CategoryTheory.Subobject.{u1, max u2 u1} (CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryStructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, max u2 u1} (CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryStructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) (CategoryTheory.instPartialOrderSubobject.{u1, max u2 u1} (CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryStructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (Subtype.le.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.toLE.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))) (fun (P : CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) => Exists.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S)) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))) C _inst_1 (CategoryTheory.Subobject.underlying.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) P))) (fun (q : Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S)) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))) C _inst_1 (CategoryTheory.Subobject.underlying.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) P))) => Eq.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S)) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) (CategoryTheory.CategoryStruct.comp.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S)) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))) C _inst_1 (CategoryTheory.Subobject.underlying.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) P)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) q (Prefunctor.map.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))) C _inst_1 (CategoryTheory.Subobject.underlying.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) P) (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A) (CategoryTheory.Subobject.arrow.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A) P))) (CategoryTheory.Comma.hom.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))))
+Case conversion may be inaccurate. Consider using '#align category_theory.structured_arrow.subobject_equiv CategoryTheory.StructuredArrow.subobjectEquivₓ'. -/
/-- If `A : S → T.obj B` is a structured arrow for `S : D` and `T : C ⥤ D`, then we can explicitly
describe the subobjects of `A` as the subobjects `P` of `B` in `C` for which `A.hom` factors
through the image of `P` under `T`. -/
@@ -133,12 +161,14 @@ def subobjectEquiv [HasLimits C] [PreservesLimits T] (A : StructuredArrow S T) :
exact congr_arg comma_morphism.right (subobject.of_mk_le_mk_comp h))
#align category_theory.structured_arrow.subobject_equiv CategoryTheory.StructuredArrow.subobjectEquiv
+#print CategoryTheory.StructuredArrow.wellPowered_structuredArrow /-
/-- If `C` is well-powered and complete and `T` preserves limits, then `structured_arrow S T` is
well-powered. -/
instance wellPowered_structuredArrow [WellPowered C] [HasLimits C] [PreservesLimits T] :
WellPowered (StructuredArrow S T)
where subobject_small X := small_map (subobjectEquiv X).toEquiv
#align category_theory.structured_arrow.well_powered_structured_arrow CategoryTheory.StructuredArrow.wellPowered_structuredArrow
+-/
end StructuredArrow
@@ -146,6 +176,7 @@ namespace CostructuredArrow
variable {S : C ⥤ D} {T : D}
+#print CategoryTheory.CostructuredArrow.projectQuotient /-
/-- Every quotient of a costructured arrow can be projected to a quotient of the underlying
object. -/
def projectQuotient [HasColimits C] [PreservesColimits S] {A : CostructuredArrow S T} :
@@ -157,14 +188,23 @@ def projectQuotient [HasColimits C] [PreservesColimits S] {A : CostructuredArrow
have := congr_arg Quiver.Hom.unop hi
simpa using congr_arg comma_morphism.left this
#align category_theory.costructured_arrow.project_quotient CategoryTheory.CostructuredArrow.projectQuotient
+-/
+#print CategoryTheory.CostructuredArrow.projectQuotient_mk /-
@[simp]
theorem projectQuotient_mk [HasColimits C] [PreservesColimits S] {A : CostructuredArrow S T}
{P : (CostructuredArrow S T)ᵒᵖ} (f : P ⟶ op A) [Mono f] :
projectQuotient (Subobject.mk f) = Subobject.mk f.unop.left.op :=
rfl
#align category_theory.costructured_arrow.project_quotient_mk CategoryTheory.CostructuredArrow.projectQuotient_mk
+-/
+/- warning: category_theory.costructured_arrow.project_quotient_factors -> CategoryTheory.CostructuredArrow.projectQuotient_factors is a dubious translation:
+lean 3 declaration is
+ forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u1, u3} D] {S : CategoryTheory.Functor.{u1, u1, u2, u3} C _inst_1 D _inst_2} {T : D} [_inst_3 : CategoryTheory.Limits.HasColimits.{u1, u2} C _inst_1] [_inst_4 : CategoryTheory.Limits.PreservesColimits.{u1, u1, u2, u3} C _inst_1 D _inst_2 S] {A : CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T} (P : CategoryTheory.Subobject.{u1, max u2 u1} (Opposite.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (CategoryTheory.Category.opposite.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T)) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)), Exists.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) (CategoryTheory.CostructuredArrow.projectQuotient.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)))) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (fun (q : Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) (CategoryTheory.CostructuredArrow.projectQuotient.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)))) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) => Eq.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.comp.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) (CategoryTheory.CostructuredArrow.projectQuotient.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)))) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) (CategoryTheory.Functor.map.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.unop.{succ u2} C ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) (CategoryTheory.CostructuredArrow.projectQuotient.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P))) (Quiver.Hom.unop.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) (CategoryTheory.CostructuredArrow.projectQuotient.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) (CategoryTheory.Subobject.arrow.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) (CategoryTheory.CostructuredArrow.projectQuotient.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)))) q) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))
+but is expected to have type
+ forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u1, u3} D] {S : CategoryTheory.Functor.{u1, u1, u2, u3} C _inst_1 D _inst_2} {T : D} [_inst_3 : CategoryTheory.Limits.HasColimits.{u1, u2} C _inst_1] [_inst_4 : CategoryTheory.Limits.PreservesColimits.{u1, u1, u2, u3} C _inst_1 D _inst_2 S] {A : CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T} (P : CategoryTheory.Subobject.{u1, max u2 u1} (Opposite.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (CategoryTheory.Category.opposite.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)), Exists.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (CategoryTheory.CostructuredArrow.projectQuotient.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)))) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (fun (q : Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (CategoryTheory.CostructuredArrow.projectQuotient.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)))) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) => Eq.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.comp.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (CategoryTheory.CostructuredArrow.projectQuotient.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)))) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) (Prefunctor.map.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.unop.{succ u2} C (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (CategoryTheory.CostructuredArrow.projectQuotient.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P))) (Quiver.Hom.unop.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (CategoryTheory.CostructuredArrow.projectQuotient.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) (CategoryTheory.Subobject.arrow.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) (CategoryTheory.CostructuredArrow.projectQuotient.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)))) q) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))
+Case conversion may be inaccurate. Consider using '#align category_theory.costructured_arrow.project_quotient_factors CategoryTheory.CostructuredArrow.projectQuotient_factorsₓ'. -/
theorem projectQuotient_factors [HasColimits C] [PreservesColimits S] {A : CostructuredArrow S T} :
∀ P : Subobject (op A), ∃ q, S.map (projectQuotient P).arrow.unop ≫ q = A.Hom :=
Subobject.ind _ fun P f hf =>
@@ -175,6 +215,12 @@ theorem projectQuotient_factors [HasColimits C] [PreservesColimits S] {A : Costr
simp⟩
#align category_theory.costructured_arrow.project_quotient_factors CategoryTheory.CostructuredArrow.projectQuotient_factors
+/- warning: category_theory.costructured_arrow.lift_quotient -> CategoryTheory.CostructuredArrow.liftQuotient is a dubious translation:
+lean 3 declaration is
+ forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u1, u3} D] {S : CategoryTheory.Functor.{u1, u1, u2, u3} C _inst_1 D _inst_2} {T : D} {A : CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T} (P : CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) {q : Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) P))) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))}, (Eq.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.comp.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) P))) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) (CategoryTheory.Functor.map.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.unop.{succ u2} C ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) P)) (Quiver.Hom.unop.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) P) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) (CategoryTheory.Subobject.arrow.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) P))) q) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) -> (CategoryTheory.Subobject.{u1, max u2 u1} (Opposite.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (CategoryTheory.Category.opposite.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T)) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))
+but is expected to have type
+ forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u1, u3} D] {S : CategoryTheory.Functor.{u1, u1, u2, u3} C _inst_1 D _inst_2} {T : D} {A : CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T} (P : CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) {q : Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) P))) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))}, (Eq.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.comp.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) P))) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) (Prefunctor.map.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.unop.{succ u2} C (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) P)) (Quiver.Hom.unop.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) P) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) (CategoryTheory.Subobject.arrow.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) P))) q) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) -> (CategoryTheory.Subobject.{u1, max u2 u1} (Opposite.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (CategoryTheory.Category.opposite.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))
+Case conversion may be inaccurate. Consider using '#align category_theory.costructured_arrow.lift_quotient CategoryTheory.CostructuredArrow.liftQuotientₓ'. -/
/-- A quotient of the underlying object of a costructured arrow can be lifted to a quotient of
the costructured arrow, provided that there is a morphism making the quotient into a
costructured arrow. -/
@@ -184,6 +230,12 @@ def liftQuotient {A : CostructuredArrow S T} (P : Subobject (op A.left)) {q}
Subobject.mk (homMk P.arrow.unop hq : A ⟶ mk q).op
#align category_theory.costructured_arrow.lift_quotient CategoryTheory.CostructuredArrow.liftQuotient
+/- warning: category_theory.costructured_arrow.unop_left_comp_underlying_iso_hom_unop -> CategoryTheory.CostructuredArrow.unop_left_comp_underlyingIso_hom_unop is a dubious translation:
+lean 3 declaration is
+ forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u1, u3} D] {S : CategoryTheory.Functor.{u1, u1, u2, u3} C _inst_1 D _inst_2} {T : D} {A : CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T} {P : Opposite.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)} (f : Quiver.Hom.{succ u1, max u2 u1} (Opposite.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (Quiver.opposite.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T)))) P (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) [_inst_3 : CategoryTheory.Mono.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P))) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (Quiver.Hom.op.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P)) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T))) P (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) f)))], Eq.{succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (Opposite.unop.{succ u2} C ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))))))) (CategoryTheory.Subobject.mk.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P))) (Quiver.Hom.op.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P)) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T))) P (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) f))) _inst_3)))) (CategoryTheory.CategoryStruct.comp.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P)) (Opposite.unop.{succ u2} C ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))))))) (CategoryTheory.Subobject.mk.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P))) (Quiver.Hom.op.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P)) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T))) P (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) f))) _inst_3))) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T))) P (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) f)) (Quiver.Hom.unop.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))))))) (CategoryTheory.Subobject.mk.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P))) (Quiver.Hom.op.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P)) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T))) P (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) f))) _inst_3)) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P))) (CategoryTheory.Iso.hom.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))))))) (CategoryTheory.Subobject.mk.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P))) (Quiver.Hom.op.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P)) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T))) P (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) f))) _inst_3)) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P))) (CategoryTheory.Subobject.underlyingIso.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P))) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (Quiver.Hom.op.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P)) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T))) P (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) f))) _inst_3)))) (Quiver.Hom.unop.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))))))) (CategoryTheory.Subobject.mk.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P))) (Quiver.Hom.op.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P)) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T))) P (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) f))) _inst_3)) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (CategoryTheory.Subobject.arrow.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (CategoryTheory.Subobject.mk.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P))) (Quiver.Hom.op.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P)) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T))) P (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) f))) _inst_3)))
+but is expected to have type
+ forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u1, u3} D] {S : CategoryTheory.Functor.{u1, u1, u2, u3} C _inst_1 D _inst_2} {T : D} {A : CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T} {P : Opposite.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)} (f : Quiver.Hom.{succ u1, max u2 u1} (Opposite.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (Quiver.opposite.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)))) P (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) [_inst_3 : CategoryTheory.Mono.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P))) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (Quiver.Hom.op.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P)) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T))) P (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) f)))], Eq.{succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (Opposite.unop.{succ u2} C (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))))) (CategoryTheory.Subobject.mk.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P))) (Quiver.Hom.op.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P)) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T))) P (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) f))) _inst_3)))) (CategoryTheory.CategoryStruct.comp.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P)) (Opposite.unop.{succ u2} C (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))))) (CategoryTheory.Subobject.mk.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P))) (Quiver.Hom.op.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P)) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T))) P (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) f))) _inst_3))) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T))) P (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) f)) (Quiver.Hom.unop.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))))) (CategoryTheory.Subobject.mk.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P))) (Quiver.Hom.op.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P)) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T))) P (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) f))) _inst_3)) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P))) (CategoryTheory.Iso.hom.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))))) (CategoryTheory.Subobject.mk.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P))) (Quiver.Hom.op.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P)) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T))) P (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) f))) _inst_3)) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P))) (CategoryTheory.Subobject.underlyingIso.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P))) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (Quiver.Hom.op.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P)) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T))) P (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) f))) _inst_3)))) (Quiver.Hom.unop.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))))) (CategoryTheory.Subobject.mk.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P))) (Quiver.Hom.op.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P)) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T))) P (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) f))) _inst_3)) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (CategoryTheory.Subobject.arrow.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (CategoryTheory.Subobject.mk.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P))) (Quiver.Hom.op.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P)) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T))) P (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) f))) _inst_3)))
+Case conversion may be inaccurate. Consider using '#align category_theory.costructured_arrow.unop_left_comp_underlying_iso_hom_unop CategoryTheory.CostructuredArrow.unop_left_comp_underlyingIso_hom_unopₓ'. -/
/-- Technical lemma for `lift_project_quotient`. -/
@[simp]
theorem unop_left_comp_underlyingIso_hom_unop {A : CostructuredArrow S T}
@@ -197,6 +249,12 @@ theorem unop_left_comp_underlyingIso_hom_unop {A : CostructuredArrow S T}
rw [← unop_comp, subobject.underlying_iso_hom_comp_eq_mk]
#align category_theory.costructured_arrow.unop_left_comp_underlying_iso_hom_unop CategoryTheory.CostructuredArrow.unop_left_comp_underlyingIso_hom_unop
+/- warning: category_theory.costructured_arrow.lift_project_quotient -> CategoryTheory.CostructuredArrow.lift_projectQuotient is a dubious translation:
+lean 3 declaration is
+ forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u1, u3} D] {S : CategoryTheory.Functor.{u1, u1, u2, u3} C _inst_1 D _inst_2} {T : D} [_inst_3 : CategoryTheory.Limits.HasColimits.{u1, u2} C _inst_1] [_inst_4 : CategoryTheory.Limits.PreservesColimits.{u1, u1, u2, u3} C _inst_1 D _inst_2 S] {A : CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T} (P : CategoryTheory.Subobject.{u1, max u2 u1} (Opposite.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (CategoryTheory.Category.opposite.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T)) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) {q : Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) (CategoryTheory.CostructuredArrow.projectQuotient.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)))) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))} (hq : Eq.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.comp.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) (CategoryTheory.CostructuredArrow.projectQuotient.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)))) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) (CategoryTheory.Functor.map.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.unop.{succ u2} C ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) (CategoryTheory.CostructuredArrow.projectQuotient.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P))) (Quiver.Hom.unop.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) (CategoryTheory.CostructuredArrow.projectQuotient.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) (CategoryTheory.Subobject.arrow.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) (CategoryTheory.CostructuredArrow.projectQuotient.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)))) q) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)), Eq.{succ (max u2 u1)} (CategoryTheory.Subobject.{u1, max u2 u1} (Opposite.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (CategoryTheory.Category.opposite.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T)) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (CategoryTheory.CostructuredArrow.liftQuotient.{u1, u2, u3} C _inst_1 D _inst_2 S T A (CategoryTheory.CostructuredArrow.projectQuotient.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P) q hq) P
+but is expected to have type
+ forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u1, u3} D] {S : CategoryTheory.Functor.{u1, u1, u2, u3} C _inst_1 D _inst_2} {T : D} [_inst_3 : CategoryTheory.Limits.HasColimits.{u1, u2} C _inst_1] [_inst_4 : CategoryTheory.Limits.PreservesColimits.{u1, u1, u2, u3} C _inst_1 D _inst_2 S] {A : CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T} (P : CategoryTheory.Subobject.{u1, max u2 u1} (Opposite.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (CategoryTheory.Category.opposite.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) {q : Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (CategoryTheory.CostructuredArrow.projectQuotient.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)))) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))} (hq : Eq.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.comp.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (CategoryTheory.CostructuredArrow.projectQuotient.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)))) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) (Prefunctor.map.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.unop.{succ u2} C (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (CategoryTheory.CostructuredArrow.projectQuotient.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P))) (Quiver.Hom.unop.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (CategoryTheory.CostructuredArrow.projectQuotient.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) (CategoryTheory.Subobject.arrow.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) (CategoryTheory.CostructuredArrow.projectQuotient.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)))) q) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)), Eq.{max (succ u2) (succ u1)} (CategoryTheory.Subobject.{u1, max u2 u1} (Opposite.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (CategoryTheory.Category.opposite.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (CategoryTheory.CostructuredArrow.liftQuotient.{u1, u2, u3} C _inst_1 D _inst_2 S T A (CategoryTheory.CostructuredArrow.projectQuotient.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P) q hq) P
+Case conversion may be inaccurate. Consider using '#align category_theory.costructured_arrow.lift_project_quotient CategoryTheory.CostructuredArrow.lift_projectQuotientₓ'. -/
/-- Projecting and then lifting a quotient recovers the original quotient, because there is at most
one morphism making the projected quotient into a costructured arrow. -/
theorem lift_projectQuotient [HasColimits C] [PreservesColimits S] {A : CostructuredArrow S T} :
@@ -219,6 +277,7 @@ theorem lift_projectQuotient [HasColimits C] [PreservesColimits S] {A : Costruct
simp)))
#align category_theory.costructured_arrow.lift_project_quotient CategoryTheory.CostructuredArrow.lift_projectQuotient
+#print CategoryTheory.CostructuredArrow.unop_left_comp_ofMkLEMk_unop /-
/-- Technical lemma for `quotient_equiv`. -/
theorem unop_left_comp_ofMkLEMk_unop {A : CostructuredArrow S T} {P Q : (CostructuredArrow S T)ᵒᵖ}
{f : P ⟶ op A} {g : Q ⟶ op A} [Mono f.unop.left.op] [Mono g.unop.left.op]
@@ -231,7 +290,14 @@ theorem unop_left_comp_ofMkLEMk_unop {A : CostructuredArrow S T} {P Q : (Costruc
rw [← unop_comp]
simp only [subobject.of_mk_le_mk_comp, Quiver.Hom.unop_op]
#align category_theory.costructured_arrow.unop_left_comp_of_mk_le_mk_unop CategoryTheory.CostructuredArrow.unop_left_comp_ofMkLEMk_unop
+-/
+/- warning: category_theory.costructured_arrow.quotient_equiv -> CategoryTheory.CostructuredArrow.quotientEquiv is a dubious translation:
+lean 3 declaration is
+ forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u1, u3} D] {S : CategoryTheory.Functor.{u1, u1, u2, u3} C _inst_1 D _inst_2} {T : D} [_inst_3 : CategoryTheory.Limits.HasColimits.{u1, u2} C _inst_1] [_inst_4 : CategoryTheory.Limits.PreservesColimits.{u1, u1, u2, u3} C _inst_1 D _inst_2 S] (A : CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T), OrderIso.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, max u2 u1} (Opposite.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (CategoryTheory.Category.opposite.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T)) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Subtype.{succ (max u2 u1)} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (fun (P : CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) => Exists.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) P))) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (fun (q : Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) P))) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) => Eq.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.comp.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) P))) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) (CategoryTheory.Functor.map.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.unop.{succ u2} C ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) P)) (Quiver.Hom.unop.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) P) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) (CategoryTheory.Subobject.arrow.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) P))) q) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (Preorder.toLE.{max u2 u1} (CategoryTheory.Subobject.{u1, max u2 u1} (Opposite.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (CategoryTheory.Category.opposite.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T)) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, max u2 u1} (Opposite.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (CategoryTheory.Category.opposite.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T)) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (CategoryTheory.Subobject.partialOrder.{max u2 u1, u1} (Opposite.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (CategoryTheory.Category.opposite.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T)) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (Subtype.hasLe.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.toLE.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.Subobject.partialOrder.{u2, u1} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (fun (P : CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) => Exists.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) P))) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (fun (q : Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) P))) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) => Eq.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.comp.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) P))) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) (CategoryTheory.Functor.map.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.unop.{succ u2} C ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) P)) (Quiver.Hom.unop.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) P) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) (CategoryTheory.Subobject.arrow.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) P))) q) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))
+but is expected to have type
+ forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u1, u3} D] {S : CategoryTheory.Functor.{u1, u1, u2, u3} C _inst_1 D _inst_2} {T : D} [_inst_3 : CategoryTheory.Limits.HasColimits.{u1, u2} C _inst_1] [_inst_4 : CategoryTheory.Limits.PreservesColimits.{u1, u1, u2, u3} C _inst_1 D _inst_2 S] (A : CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T), OrderIso.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, max u2 u1} (Opposite.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (CategoryTheory.Category.opposite.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Subtype.{max (succ u2) (succ u1)} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (fun (P : CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) => Exists.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) P))) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (fun (q : Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) P))) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) => Eq.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.comp.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) P))) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) (Prefunctor.map.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.unop.{succ u2} C (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) P)) (Quiver.Hom.unop.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) P) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) (CategoryTheory.Subobject.arrow.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) P))) q) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (Preorder.toLE.{max u2 u1} (CategoryTheory.Subobject.{u1, max u2 u1} (Opposite.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (CategoryTheory.Category.opposite.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, max u2 u1} (Opposite.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (CategoryTheory.Category.opposite.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (CategoryTheory.instPartialOrderSubobject.{u1, max u2 u1} (Opposite.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (CategoryTheory.Category.opposite.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (Subtype.le.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.toLE.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (fun (P : CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) => Exists.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) P))) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (fun (q : Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) P))) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) => Eq.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.comp.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) P))) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) (Prefunctor.map.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.unop.{succ u2} C (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) P)) (Quiver.Hom.unop.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) P) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) (CategoryTheory.Subobject.arrow.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) P))) q) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))
+Case conversion may be inaccurate. Consider using '#align category_theory.costructured_arrow.quotient_equiv CategoryTheory.CostructuredArrow.quotientEquivₓ'. -/
/-- If `A : S.obj B ⟶ T` is a costructured arrow for `S : C ⥤ D` and `T : D`, then we can
explicitly describe the quotients of `A` as the quotients `P` of `B` in `C` for which `A.hom`
factors through the image of `P` under `S`. -/
@@ -261,12 +327,14 @@ def quotientEquiv [HasColimits C] [PreservesColimits S] (A : CostructuredArrow S
simpa [-subobject.of_mk_le_mk_comp] using congr_arg comma_morphism.left this)
#align category_theory.costructured_arrow.quotient_equiv CategoryTheory.CostructuredArrow.quotientEquiv
+#print CategoryTheory.CostructuredArrow.well_copowered_costructuredArrow /-
/-- If `C` is well-copowered and cocomplete and `S` preserves colimits, then
`costructured_arrow S T` is well-copowered. -/
instance well_copowered_costructuredArrow [WellPowered Cᵒᵖ] [HasColimits C] [PreservesColimits S] :
WellPowered (CostructuredArrow S T)ᵒᵖ
where subobject_small X := small_map (quotientEquiv (unop X)).toEquiv
#align category_theory.costructured_arrow.well_copowered_costructured_arrow CategoryTheory.CostructuredArrow.well_copowered_costructuredArrow
+-/
end CostructuredArrow
mathlib commit https://github.com/leanprover-community/mathlib/commit/17ad94b4953419f3e3ce3e77da3239c62d1d09f0
@@ -220,17 +220,17 @@ theorem lift_projectQuotient [HasColimits C] [PreservesColimits S] {A : Costruct
#align category_theory.costructured_arrow.lift_project_quotient CategoryTheory.CostructuredArrow.lift_projectQuotient
/-- Technical lemma for `quotient_equiv`. -/
-theorem unop_left_comp_ofMkLeMk_unop {A : CostructuredArrow S T} {P Q : (CostructuredArrow S T)ᵒᵖ}
+theorem unop_left_comp_ofMkLEMk_unop {A : CostructuredArrow S T} {P Q : (CostructuredArrow S T)ᵒᵖ}
{f : P ⟶ op A} {g : Q ⟶ op A} [Mono f.unop.left.op] [Mono g.unop.left.op]
(h : Subobject.mk f.unop.left.op ≤ Subobject.mk g.unop.left.op) :
- g.unop.left ≫ (Subobject.ofMkLeMk f.unop.left.op g.unop.left.op h).unop = f.unop.left :=
+ g.unop.left ≫ (Subobject.ofMkLEMk f.unop.left.op g.unop.left.op h).unop = f.unop.left :=
by
conv_lhs =>
congr
rw [← Quiver.Hom.unop_op g.unop.left]
rw [← unop_comp]
simp only [subobject.of_mk_le_mk_comp, Quiver.Hom.unop_op]
-#align category_theory.costructured_arrow.unop_left_comp_of_mk_le_mk_unop CategoryTheory.CostructuredArrow.unop_left_comp_ofMkLeMk_unop
+#align category_theory.costructured_arrow.unop_left_comp_of_mk_le_mk_unop CategoryTheory.CostructuredArrow.unop_left_comp_ofMkLEMk_unop
/-- If `A : S.obj B ⟶ T` is a costructured arrow for `S : C ⥤ D` and `T : D`, then we can
explicitly describe the quotients of `A` as the quotients `P` of `B` in `C` for which `A.hom`
mathlib commit https://github.com/leanprover-community/mathlib/commit/bd9851ca476957ea4549eb19b40e7b5ade9428cc
@@ -114,6 +114,10 @@ def subobjectEquiv [HasLimits C] [PreservesLimits T] (A : StructuredArrow S T) :
exact congr_arg CommaMorphism.right (Subobject.ofMkLEMk_comp h)
#align category_theory.structured_arrow.subobject_equiv CategoryTheory.StructuredArrow.subobjectEquiv
+-- These lemmas have always been bad (#7657), but leanprover/lean4#2644 made `simp` start noticing
+attribute [nolint simpNF] CategoryTheory.StructuredArrow.subobjectEquiv_symm_apply
+ CategoryTheory.StructuredArrow.subobjectEquiv_apply_coe
+
/-- If `C` is well-powered and complete and `T` preserves limits, then `StructuredArrow S T` is
well-powered. -/
instance wellPowered_structuredArrow [WellPowered C] [HasLimits C] [PreservesLimits T] :
@@ -114,10 +114,6 @@ def subobjectEquiv [HasLimits C] [PreservesLimits T] (A : StructuredArrow S T) :
exact congr_arg CommaMorphism.right (Subobject.ofMkLEMk_comp h)
#align category_theory.structured_arrow.subobject_equiv CategoryTheory.StructuredArrow.subobjectEquiv
--- These lemmas have always been bad (#7657), but leanprover/lean4#2644 made `simp` start noticing
-attribute [nolint simpNF] CategoryTheory.StructuredArrow.subobjectEquiv_symm_apply
- CategoryTheory.StructuredArrow.subobjectEquiv_apply_coe
-
/-- If `C` is well-powered and complete and `T` preserves limits, then `StructuredArrow S T` is
well-powered. -/
instance wellPowered_structuredArrow [WellPowered C] [HasLimits C] [PreservesLimits T] :
@@ -114,6 +114,10 @@ def subobjectEquiv [HasLimits C] [PreservesLimits T] (A : StructuredArrow S T) :
exact congr_arg CommaMorphism.right (Subobject.ofMkLEMk_comp h)
#align category_theory.structured_arrow.subobject_equiv CategoryTheory.StructuredArrow.subobjectEquiv
+-- These lemmas have always been bad (#7657), but leanprover/lean4#2644 made `simp` start noticing
+attribute [nolint simpNF] CategoryTheory.StructuredArrow.subobjectEquiv_symm_apply
+ CategoryTheory.StructuredArrow.subobjectEquiv_apply_coe
+
/-- If `C` is well-powered and complete and `T` preserves limits, then `StructuredArrow S T` is
well-powered. -/
instance wellPowered_structuredArrow [WellPowered C] [HasLimits C] [PreservesLimits T] :
This will improve spaces in the mathlib4 docs.
@@ -17,7 +17,7 @@ and `S : D` as a subtype of the subobjects of `A.right`. We deduce that `Structu
well-powered if `C` is.
## Main declarations
-* `StructuredArrow.subobjectEquiv `: the order-equivalence between `Subobject A` and a subtype of
+* `StructuredArrow.subobjectEquiv`: the order-equivalence between `Subobject A` and a subtype of
`Subobject A.right`.
## Implementation notes
@@ -117,8 +117,8 @@ def subobjectEquiv [HasLimits C] [PreservesLimits T] (A : StructuredArrow S T) :
/-- If `C` is well-powered and complete and `T` preserves limits, then `StructuredArrow S T` is
well-powered. -/
instance wellPowered_structuredArrow [WellPowered C] [HasLimits C] [PreservesLimits T] :
- WellPowered (StructuredArrow S T)
- where subobject_small X := small_map (subobjectEquiv X).toEquiv
+ WellPowered (StructuredArrow S T) where
+ subobject_small X := small_map (subobjectEquiv X).toEquiv
#align category_theory.structured_arrow.well_powered_structured_arrow CategoryTheory.StructuredArrow.wellPowered_structuredArrow
end StructuredArrow
@@ -235,8 +235,8 @@ def quotientEquiv [HasColimits C] [PreservesColimits S] (A : CostructuredArrow S
/-- If `C` is well-copowered and cocomplete and `S` preserves colimits, then
`CostructuredArrow S T` is well-copowered. -/
instance well_copowered_costructuredArrow [WellPowered Cᵒᵖ] [HasColimits C] [PreservesColimits S] :
- WellPowered (CostructuredArrow S T)ᵒᵖ
- where subobject_small X := small_map (quotientEquiv (unop X)).toEquiv
+ WellPowered (CostructuredArrow S T)ᵒᵖ where
+ subobject_small X := small_map (quotientEquiv (unop X)).toEquiv
#align category_theory.costructured_arrow.well_copowered_costructured_arrow CategoryTheory.CostructuredArrow.well_copowered_costructuredArrow
end CostructuredArrow
@@ -2,16 +2,13 @@
Copyright (c) 2022 Markus Himmel. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Markus Himmel
-
-! This file was ported from Lean 3 source module category_theory.subobject.comma
-! 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.CategoryTheory.Subobject.WellPowered
import Mathlib.CategoryTheory.Limits.Preserves.Finite
import Mathlib.CategoryTheory.Limits.Shapes.FiniteLimits
+#align_import category_theory.subobject.comma from "leanprover-community/mathlib"@"70fd9563a21e7b963887c9360bd29b2393e6225a"
+
/-!
# Subobjects in the category of structured arrows
This PR is the result of running
find . -type f -name "*.lean" -exec sed -i -E 's/^( +)\. /\1· /' {} \;
find . -type f -name "*.lean" -exec sed -i -E 'N;s/^( +·)\n +(.*)$/\1 \2/;P;D' {} \;
which firstly replaces .
focusing dots with ·
and secondly removes isolated instances of such dots, unifying them with the following line. A new rule is placed in the style linter to verify this.
@@ -112,8 +112,8 @@ def subobjectEquiv [HasLimits C] [PreservesLimits T] (A : StructuredArrow S T) :
refine' ⟨fun h => Subobject.mk_le_mk_of_comm _ _, fun h => _⟩
· exact homMk (Subobject.ofMkLEMk _ _ h)
((cancel_mono (T.map g.right)).1 (by simp [← T.map_comp]))
- . aesop_cat
- . refine' Subobject.mk_le_mk_of_comm (Subobject.ofMkLEMk _ _ h).right _
+ · aesop_cat
+ · refine' Subobject.mk_le_mk_of_comm (Subobject.ofMkLEMk _ _ h).right _
exact congr_arg CommaMorphism.right (Subobject.ofMkLEMk_comp h)
#align category_theory.structured_arrow.subobject_equiv CategoryTheory.StructuredArrow.subobjectEquiv
@@ -224,7 +224,7 @@ def quotientEquiv [HasColimits C] [PreservesColimits S] (A : CostructuredArrow S
dsimp
simp only [← S.map_comp_assoc, unop_left_comp_ofMkLEMk_unop, unop_op, CommaMorphism.w,
Functor.const_obj_obj, right_eq_id, Functor.const_obj_map, Category.comp_id]
- . apply Quiver.Hom.unop_inj
+ · apply Quiver.Hom.unop_inj
ext
exact unop_left_comp_ofMkLEMk_unop _
· refine' Subobject.mk_le_mk_of_comm (Subobject.ofMkLEMk _ _ h).unop.left.op _
Co-authored-by: Moritz Firsching <firsching@google.com> Co-authored-by: Joël Riou <joel.riou@universite-paris-saclay.fr>
The unported dependencies are