category_theory.limits.presheaf
⟷
Mathlib.CategoryTheory.Limits.Presheaf
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,13 +3,13 @@ Copyright (c) 2020 Bhavik Mehta. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Bhavik Mehta
-/
-import Mathbin.CategoryTheory.Adjunction.Limits
-import Mathbin.CategoryTheory.Adjunction.Opposites
-import Mathbin.CategoryTheory.Elements
-import Mathbin.CategoryTheory.Limits.FunctorCategory
-import Mathbin.CategoryTheory.Limits.KanExtension
-import Mathbin.CategoryTheory.Limits.Shapes.Terminal
-import Mathbin.CategoryTheory.Limits.Types
+import CategoryTheory.Adjunction.Limits
+import CategoryTheory.Adjunction.Opposites
+import CategoryTheory.Elements
+import CategoryTheory.Limits.FunctorCategory
+import CategoryTheory.Limits.KanExtension
+import CategoryTheory.Limits.Shapes.Terminal
+import CategoryTheory.Limits.Types
#align_import category_theory.limits.presheaf from "leanprover-community/mathlib"@"9d2f0748e6c50d7a2657c564b1ff2c695b39148d"
mathlib commit https://github.com/leanprover-community/mathlib/commit/8ea5598db6caeddde6cb734aa179cc2408dbd345
@@ -2,11 +2,6 @@
Copyright (c) 2020 Bhavik Mehta. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Bhavik Mehta
-
-! This file was ported from Lean 3 source module category_theory.limits.presheaf
-! 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.Adjunction.Limits
import Mathbin.CategoryTheory.Adjunction.Opposites
@@ -16,6 +11,8 @@ import Mathbin.CategoryTheory.Limits.KanExtension
import Mathbin.CategoryTheory.Limits.Shapes.Terminal
import Mathbin.CategoryTheory.Limits.Types
+#align_import category_theory.limits.presheaf from "leanprover-community/mathlib"@"9d2f0748e6c50d7a2657c564b1ff2c695b39148d"
+
/-!
# Colimit of representables
mathlib commit https://github.com/leanprover-community/mathlib/commit/2a0ce625dbb0ffbc7d1316597de0b25c1ec75303
@@ -136,7 +136,7 @@ theorem restrictYonedaHomEquiv_natural (P : Cᵒᵖ ⥤ Type u₁) (E₁ E₂ :
restrictYonedaHomEquiv A P E₂ t (k ≫ g) =
restrictYonedaHomEquiv A P E₁ t k ≫ (restrictedYoneda A).map g :=
by
- ext (_ X p)
+ ext _ X p
apply (assoc _ _ _).symm
#align category_theory.colimit_adj.restrict_yoneda_hom_equiv_natural CategoryTheory.ColimitAdj.restrictYonedaHomEquiv_natural
-/
@@ -364,7 +364,7 @@ theorem coconeOfRepresentable_naturality {P₁ P₂ : Cᵒᵖ ⥤ Type u₁} (α
(coconeOfRepresentable P₁).ι.app j ≫ α =
(coconeOfRepresentable P₂).ι.app ((CategoryOfElements.map α).op.obj j) :=
by
- ext (T f)
+ ext T f
simpa [cocone_of_representable_ι_app] using functor_to_types.naturality _ _ α f.op _
#align category_theory.cocone_of_representable_naturality CategoryTheory.coconeOfRepresentable_naturality
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/9fb8964792b4237dac6200193a0d533f1b3f7423
@@ -94,6 +94,7 @@ def restrictedYonedaYoneda : restrictedYoneda (yoneda : C ⥤ Cᵒᵖ ⥤ Type u
#align category_theory.colimit_adj.restricted_yoneda_yoneda CategoryTheory.ColimitAdj.restrictedYonedaYoneda
-/
+#print CategoryTheory.ColimitAdj.restrictYonedaHomEquiv /-
/-- (Implementation). The equivalence of homsets which helps construct the left adjoint to
`colimit_adj.restricted_yoneda`.
It is shown in `restrict_yoneda_hom_equiv_natural` that this is a natural bijection.
@@ -124,7 +125,9 @@ def restrictYonedaHomEquiv (P : Cᵒᵖ ⥤ Type u₁) (E : ℰ)
rintro ⟨_, _⟩
rfl }
#align category_theory.colimit_adj.restrict_yoneda_hom_equiv CategoryTheory.ColimitAdj.restrictYonedaHomEquiv
+-/
+#print CategoryTheory.ColimitAdj.restrictYonedaHomEquiv_natural /-
/--
(Implementation). Show that the bijection in `restrict_yoneda_hom_equiv` is natural (on the right).
-/
@@ -136,6 +139,7 @@ theorem restrictYonedaHomEquiv_natural (P : Cᵒᵖ ⥤ Type u₁) (E₁ E₂ :
ext (_ X p)
apply (assoc _ _ _).symm
#align category_theory.colimit_adj.restrict_yoneda_hom_equiv_natural CategoryTheory.ColimitAdj.restrictYonedaHomEquiv_natural
+-/
variable [HasColimits ℰ]
@@ -151,12 +155,15 @@ def extendAlongYoneda : (Cᵒᵖ ⥤ Type u₁) ⥤ ℰ :=
#align category_theory.colimit_adj.extend_along_yoneda CategoryTheory.ColimitAdj.extendAlongYoneda
-/
+#print CategoryTheory.ColimitAdj.extendAlongYoneda_obj /-
@[simp]
theorem extendAlongYoneda_obj (P : Cᵒᵖ ⥤ Type u₁) :
(extendAlongYoneda A).obj P = colimit ((CategoryOfElements.π P).leftOp ⋙ A) :=
rfl
#align category_theory.colimit_adj.extend_along_yoneda_obj CategoryTheory.ColimitAdj.extendAlongYoneda_obj
+-/
+#print CategoryTheory.ColimitAdj.extendAlongYoneda_map /-
theorem extendAlongYoneda_map {X Y : Cᵒᵖ ⥤ Type u₁} (f : X ⟶ Y) :
(extendAlongYoneda A).map f =
colimit.pre ((CategoryOfElements.π Y).leftOp ⋙ A) (CategoryOfElements.map f).op :=
@@ -167,6 +174,7 @@ theorem extendAlongYoneda_map {X Y : Cᵒᵖ ⥤ Type u₁} (f : X ⟶ Y) :
is_colimit.hom_iso, ulift_trivial]
simpa
#align category_theory.colimit_adj.extend_along_yoneda_map CategoryTheory.ColimitAdj.extendAlongYoneda_map
+-/
#print CategoryTheory.ColimitAdj.yonedaAdjunction /-
/-- Show `extend_along_yoneda` is left adjoint to `restricted_yoneda`.
@@ -178,6 +186,7 @@ def yonedaAdjunction : extendAlongYoneda A ⊣ restrictedYoneda A :=
#align category_theory.colimit_adj.yoneda_adjunction CategoryTheory.ColimitAdj.yonedaAdjunction
-/
+#print CategoryTheory.ColimitAdj.Elements.initial /-
/--
The initial object in the category of elements for a representable functor. In `is_initial` it is
shown that this is initial.
@@ -185,7 +194,9 @@ shown that this is initial.
def Elements.initial (A : C) : (yoneda.obj A).Elements :=
⟨Opposite.op A, 𝟙 _⟩
#align category_theory.colimit_adj.elements.initial CategoryTheory.ColimitAdj.Elements.initial
+-/
+#print CategoryTheory.ColimitAdj.isInitial /-
/-- Show that `elements.initial A` is initial in the category of elements for the `yoneda` functor.
-/
def isInitial (A : C) : IsInitial (Elements.initial A)
@@ -197,6 +208,7 @@ def isInitial (A : C) : IsInitial (Elements.initial A)
simp
fac := by rintro s ⟨⟨⟩⟩
#align category_theory.colimit_adj.is_initial CategoryTheory.ColimitAdj.isInitial
+-/
#print CategoryTheory.ColimitAdj.isExtensionAlongYoneda /-
/--
@@ -230,6 +242,7 @@ def isExtensionAlongYoneda : (yoneda : C ⥤ Cᵒᵖ ⥤ Type u₁) ⋙ extendAl
instance : PreservesColimits (extendAlongYoneda A) :=
(yonedaAdjunction A).leftAdjointPreservesColimits
+#print CategoryTheory.ColimitAdj.extendAlongYonedaIsoKanApp /-
/-- Show that the images of `X` after `extend_along_yoneda` and `Lan yoneda` are indeed isomorphic.
This follows from `category_theory.category_of_elements.costructured_arrow_yoneda_equivalence`.
-/
@@ -254,7 +267,9 @@ def extendAlongYonedaIsoKanApp (X) :
· exact category_of_elements.to_from_costructured_arrow_eq X
· ext; simp only [colimit.ι_pre]; erw [category.comp_id]; congr }
#align category_theory.colimit_adj.extend_along_yoneda_iso_Kan_app CategoryTheory.ColimitAdj.extendAlongYonedaIsoKanApp
+-/
+#print CategoryTheory.ColimitAdj.extendAlongYonedaIsoKan /-
/-- Verify that `extend_along_yoneda` is indeed the left Kan extension along the yoneda embedding.
-/
@[simps]
@@ -269,6 +284,7 @@ def extendAlongYonedaIsoKan : extendAlongYoneda A ≅ (lan yoneda : (_ ⥤ ℰ)
congr 1
apply category_of_elements.costructured_arrow_yoneda_equivalence_naturality)
#align category_theory.colimit_adj.extend_along_yoneda_iso_Kan CategoryTheory.ColimitAdj.extendAlongYonedaIsoKan
+-/
#print CategoryTheory.ColimitAdj.extendOfCompYonedaIsoLan /-
/-- extending `F ⋙ yoneda` along the yoneda embedding is isomorphic to `Lan F.op`. -/
@@ -333,13 +349,16 @@ theorem coconeOfRepresentable_pt (P : Cᵒᵖ ⥤ Type u₁) : (coconeOfRepresen
#align category_theory.cocone_of_representable_X CategoryTheory.coconeOfRepresentable_pt
-/
+#print CategoryTheory.coconeOfRepresentable_ι_app /-
-- Marking this as a simp lemma seems to make things more awkward.
/-- An explicit formula for the legs of the cocone `cocone_of_representable`. -/
theorem coconeOfRepresentable_ι_app (P : Cᵒᵖ ⥤ Type u₁) (j : P.Elementsᵒᵖ) :
(coconeOfRepresentable P).ι.app j = (yonedaSectionsSmall _ _).inv j.unop.2 :=
colimit.ι_desc _ _
#align category_theory.cocone_of_representable_ι_app CategoryTheory.coconeOfRepresentable_ι_app
+-/
+#print CategoryTheory.coconeOfRepresentable_naturality /-
/-- The legs of the cocone `cocone_of_representable` are natural in the choice of presheaf. -/
theorem coconeOfRepresentable_naturality {P₁ P₂ : Cᵒᵖ ⥤ Type u₁} (α : P₁ ⟶ P₂) (j : P₁.Elementsᵒᵖ) :
(coconeOfRepresentable P₁).ι.app j ≫ α =
@@ -348,6 +367,7 @@ theorem coconeOfRepresentable_naturality {P₁ P₂ : Cᵒᵖ ⥤ Type u₁} (α
ext (T f)
simpa [cocone_of_representable_ι_app] using functor_to_types.naturality _ _ α f.op _
#align category_theory.cocone_of_representable_naturality CategoryTheory.coconeOfRepresentable_naturality
+-/
#print CategoryTheory.colimitOfRepresentable /-
/-- The cocone with point `P` given by `the_cocone` is a colimit: that is, we have exhibited an
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -94,9 +94,6 @@ def restrictedYonedaYoneda : restrictedYoneda (yoneda : C ⥤ Cᵒᵖ ⥤ Type u
#align category_theory.colimit_adj.restricted_yoneda_yoneda CategoryTheory.ColimitAdj.restrictedYonedaYoneda
-/
-/- warning: category_theory.colimit_adj.restrict_yoneda_hom_equiv -> CategoryTheory.ColimitAdj.restrictYonedaHomEquiv is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.colimit_adj.restrict_yoneda_hom_equiv CategoryTheory.ColimitAdj.restrictYonedaHomEquivₓ'. -/
/-- (Implementation). The equivalence of homsets which helps construct the left adjoint to
`colimit_adj.restricted_yoneda`.
It is shown in `restrict_yoneda_hom_equiv_natural` that this is a natural bijection.
@@ -128,9 +125,6 @@ def restrictYonedaHomEquiv (P : Cᵒᵖ ⥤ Type u₁) (E : ℰ)
rfl }
#align category_theory.colimit_adj.restrict_yoneda_hom_equiv CategoryTheory.ColimitAdj.restrictYonedaHomEquiv
-/- warning: category_theory.colimit_adj.restrict_yoneda_hom_equiv_natural -> CategoryTheory.ColimitAdj.restrictYonedaHomEquiv_natural is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.colimit_adj.restrict_yoneda_hom_equiv_natural CategoryTheory.ColimitAdj.restrictYonedaHomEquiv_naturalₓ'. -/
/--
(Implementation). Show that the bijection in `restrict_yoneda_hom_equiv` is natural (on the right).
-/
@@ -157,21 +151,12 @@ def extendAlongYoneda : (Cᵒᵖ ⥤ Type u₁) ⥤ ℰ :=
#align category_theory.colimit_adj.extend_along_yoneda CategoryTheory.ColimitAdj.extendAlongYoneda
-/
-/- warning: category_theory.colimit_adj.extend_along_yoneda_obj -> CategoryTheory.ColimitAdj.extendAlongYoneda_obj is a dubious translation:
-lean 3 declaration is
- forall {C : Type.{u1}} [_inst_1 : CategoryTheory.SmallCategory.{u1} C] {ℰ : Type.{u2}} [_inst_2 : CategoryTheory.Category.{u1, u2} ℰ] (A : CategoryTheory.Functor.{u1, u1, u1, u2} C _inst_1 ℰ _inst_2) [_inst_3 : CategoryTheory.Limits.HasColimits.{u1, u2} ℰ _inst_2] (P : CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}), Eq.{succ u2} ℰ (CategoryTheory.Functor.obj.{u1, u1, succ u1, u2} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) ℰ _inst_2 (CategoryTheory.ColimitAdj.extendAlongYoneda.{u1, u2} C _inst_1 ℰ _inst_2 A _inst_3) P) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) ℰ _inst_2 (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) A) (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u1, u1, u2} ℰ _inst_2 (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Limits.hasColimitsOfShapeOfHasColimitsOfSize.{u1, u1, u1, u2} ℰ _inst_2 (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) _inst_3) (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) A)))
-but is expected to have type
- forall {C : Type.{u1}} [_inst_1 : CategoryTheory.SmallCategory.{u1} C] {ℰ : Type.{u2}} [_inst_2 : CategoryTheory.Category.{u1, u2} ℰ] (A : CategoryTheory.Functor.{u1, u1, u1, u2} C _inst_1 ℰ _inst_2) [_inst_3 : CategoryTheory.Limits.HasColimits.{u1, u2} ℰ _inst_2] (P : CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}), Eq.{succ u2} ℰ (Prefunctor.obj.{succ u1, succ u1, succ u1, u2} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, u2} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) ℰ _inst_2 (CategoryTheory.ColimitAdj.extendAlongYoneda.{u1, u2} C _inst_1 ℰ _inst_2 A _inst_3)) P) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) ℰ _inst_2 (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) A) (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u1, u1, u2} ℰ _inst_2 (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Limits.hasColimitsOfShapeOfHasColimitsOfSize.{u1, u1, u1, u2} ℰ _inst_2 (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) _inst_3) (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) A)))
-Case conversion may be inaccurate. Consider using '#align category_theory.colimit_adj.extend_along_yoneda_obj CategoryTheory.ColimitAdj.extendAlongYoneda_objₓ'. -/
@[simp]
theorem extendAlongYoneda_obj (P : Cᵒᵖ ⥤ Type u₁) :
(extendAlongYoneda A).obj P = colimit ((CategoryOfElements.π P).leftOp ⋙ A) :=
rfl
#align category_theory.colimit_adj.extend_along_yoneda_obj CategoryTheory.ColimitAdj.extendAlongYoneda_obj
-/- warning: category_theory.colimit_adj.extend_along_yoneda_map -> CategoryTheory.ColimitAdj.extendAlongYoneda_map is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.colimit_adj.extend_along_yoneda_map CategoryTheory.ColimitAdj.extendAlongYoneda_mapₓ'. -/
theorem extendAlongYoneda_map {X Y : Cᵒᵖ ⥤ Type u₁} (f : X ⟶ Y) :
(extendAlongYoneda A).map f =
colimit.pre ((CategoryOfElements.π Y).leftOp ⋙ A) (CategoryOfElements.map f).op :=
@@ -193,12 +178,6 @@ def yonedaAdjunction : extendAlongYoneda A ⊣ restrictedYoneda A :=
#align category_theory.colimit_adj.yoneda_adjunction CategoryTheory.ColimitAdj.yonedaAdjunction
-/
-/- warning: category_theory.colimit_adj.elements.initial -> CategoryTheory.ColimitAdj.Elements.initial is a dubious translation:
-lean 3 declaration is
- forall {C : Type.{u1}} [_inst_1 : CategoryTheory.SmallCategory.{u1} C] (A : C), CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.yoneda.{u1, u1} C _inst_1) A)
-but is expected to have type
- forall {C : Type.{u1}} [_inst_1 : CategoryTheory.SmallCategory.{u1} C] (A : C), CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} C (CategoryTheory.Category.toCategoryStruct.{u1, u1} C _inst_1)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.yoneda.{u1, u1} C _inst_1)) A)
-Case conversion may be inaccurate. Consider using '#align category_theory.colimit_adj.elements.initial CategoryTheory.ColimitAdj.Elements.initialₓ'. -/
/--
The initial object in the category of elements for a representable functor. In `is_initial` it is
shown that this is initial.
@@ -207,12 +186,6 @@ def Elements.initial (A : C) : (yoneda.obj A).Elements :=
⟨Opposite.op A, 𝟙 _⟩
#align category_theory.colimit_adj.elements.initial CategoryTheory.ColimitAdj.Elements.initial
-/- warning: category_theory.colimit_adj.is_initial -> CategoryTheory.ColimitAdj.isInitial is a dubious translation:
-lean 3 declaration is
- forall {C : Type.{u1}} [_inst_1 : CategoryTheory.SmallCategory.{u1} C] (A : C), CategoryTheory.Limits.IsInitial.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.yoneda.{u1, u1} C _inst_1) A)) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.yoneda.{u1, u1} C _inst_1) A)) (CategoryTheory.ColimitAdj.Elements.initial.{u1} C _inst_1 A)
-but is expected to have type
- forall {C : Type.{u1}} [_inst_1 : CategoryTheory.SmallCategory.{u1} C] (A : C), CategoryTheory.Limits.IsInitial.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} C (CategoryTheory.Category.toCategoryStruct.{u1, u1} C _inst_1)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.yoneda.{u1, u1} C _inst_1)) A)) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} C (CategoryTheory.Category.toCategoryStruct.{u1, u1} C _inst_1)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.yoneda.{u1, u1} C _inst_1)) A)) (CategoryTheory.ColimitAdj.Elements.initial.{u1} C _inst_1 A)
-Case conversion may be inaccurate. Consider using '#align category_theory.colimit_adj.is_initial CategoryTheory.ColimitAdj.isInitialₓ'. -/
/-- Show that `elements.initial A` is initial in the category of elements for the `yoneda` functor.
-/
def isInitial (A : C) : IsInitial (Elements.initial A)
@@ -257,9 +230,6 @@ def isExtensionAlongYoneda : (yoneda : C ⥤ Cᵒᵖ ⥤ Type u₁) ⋙ extendAl
instance : PreservesColimits (extendAlongYoneda A) :=
(yonedaAdjunction A).leftAdjointPreservesColimits
-/- warning: category_theory.colimit_adj.extend_along_yoneda_iso_Kan_app -> CategoryTheory.ColimitAdj.extendAlongYonedaIsoKanApp is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.colimit_adj.extend_along_yoneda_iso_Kan_app CategoryTheory.ColimitAdj.extendAlongYonedaIsoKanAppₓ'. -/
/-- Show that the images of `X` after `extend_along_yoneda` and `Lan yoneda` are indeed isomorphic.
This follows from `category_theory.category_of_elements.costructured_arrow_yoneda_equivalence`.
-/
@@ -285,12 +255,6 @@ def extendAlongYonedaIsoKanApp (X) :
· ext; simp only [colimit.ι_pre]; erw [category.comp_id]; congr }
#align category_theory.colimit_adj.extend_along_yoneda_iso_Kan_app CategoryTheory.ColimitAdj.extendAlongYonedaIsoKanApp
-/- warning: category_theory.colimit_adj.extend_along_yoneda_iso_Kan -> CategoryTheory.ColimitAdj.extendAlongYonedaIsoKan is a dubious translation:
-lean 3 declaration is
- forall {C : Type.{u1}} [_inst_1 : CategoryTheory.SmallCategory.{u1} C] {ℰ : Type.{u2}} [_inst_2 : CategoryTheory.Category.{u1, u2} ℰ] (A : CategoryTheory.Functor.{u1, u1, u1, u2} C _inst_1 ℰ _inst_2) [_inst_3 : CategoryTheory.Limits.HasColimits.{u1, u2} ℰ _inst_2], CategoryTheory.Iso.{succ u1, max u1 (succ u1) u2} (CategoryTheory.Functor.{u1, u1, succ u1, u2} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) ℰ _inst_2) (CategoryTheory.Functor.category.{u1, u1, succ u1, u2} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) ℰ _inst_2) (CategoryTheory.ColimitAdj.extendAlongYoneda.{u1, u2} C _inst_1 ℰ _inst_2 A _inst_3) (CategoryTheory.Functor.obj.{u1, succ u1, max u1 u2, max u1 (succ u1) u2} (CategoryTheory.Functor.{u1, u1, u1, u2} C _inst_1 ℰ _inst_2) (CategoryTheory.Functor.category.{u1, u1, u1, u2} C _inst_1 ℰ _inst_2) (CategoryTheory.Functor.{u1, u1, succ u1, u2} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) ℰ _inst_2) (CategoryTheory.Functor.category.{u1, u1, succ u1, u2} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) ℰ _inst_2) (CategoryTheory.lan.{u1, u1, u1, u1, succ u1, u2} C (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) ℰ _inst_1 (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) _inst_2 (CategoryTheory.yoneda.{u1, u1} C _inst_1) (CategoryTheory.ColimitAdj.extendAlongYonedaIsoKanApp._proof_1.{u1, u2} C _inst_1 ℰ _inst_2 _inst_3)) A)
-but is expected to have type
- forall {C : Type.{u1}} [_inst_1 : CategoryTheory.SmallCategory.{u1} C] {ℰ : Type.{u2}} [_inst_2 : CategoryTheory.Category.{u1, u2} ℰ] (A : CategoryTheory.Functor.{u1, u1, u1, u2} C _inst_1 ℰ _inst_2) [_inst_3 : CategoryTheory.Limits.HasColimits.{u1, u2} ℰ _inst_2], CategoryTheory.Iso.{succ u1, max u2 (succ u1)} (CategoryTheory.Functor.{u1, u1, succ u1, u2} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) ℰ _inst_2) (CategoryTheory.Functor.category.{u1, u1, succ u1, u2} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) ℰ _inst_2) (CategoryTheory.ColimitAdj.extendAlongYoneda.{u1, u2} C _inst_1 ℰ _inst_2 A _inst_3) (Prefunctor.obj.{succ u1, succ (succ u1), max u1 u2, max (max u1 u2) (succ u1)} (CategoryTheory.Functor.{u1, u1, u1, u2} C _inst_1 ℰ _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} C _inst_1 ℰ _inst_2) (CategoryTheory.Category.toCategoryStruct.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} C _inst_1 ℰ _inst_2) (CategoryTheory.Functor.category.{u1, u1, u1, u2} C _inst_1 ℰ _inst_2))) (CategoryTheory.Functor.{u1, u1, succ u1, u2} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) ℰ _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{succ u1, max (max u1 u2) (succ u1)} (CategoryTheory.Functor.{u1, u1, succ u1, u2} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) ℰ _inst_2) (CategoryTheory.Category.toCategoryStruct.{succ u1, max (max u1 u2) (succ u1)} (CategoryTheory.Functor.{u1, u1, succ u1, u2} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) ℰ _inst_2) (CategoryTheory.Functor.category.{u1, u1, succ u1, u2} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) ℰ _inst_2))) (CategoryTheory.Functor.toPrefunctor.{u1, succ u1, max u1 u2, max (max u1 u2) (succ u1)} (CategoryTheory.Functor.{u1, u1, u1, u2} C _inst_1 ℰ _inst_2) (CategoryTheory.Functor.category.{u1, u1, u1, u2} C _inst_1 ℰ _inst_2) (CategoryTheory.Functor.{u1, u1, succ u1, u2} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) ℰ _inst_2) (CategoryTheory.Functor.category.{u1, u1, succ u1, u2} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) ℰ _inst_2) (CategoryTheory.lan.{u1, u1, u1, u1, succ u1, u2} C (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) ℰ _inst_1 (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) _inst_2 (CategoryTheory.yoneda.{u1, u1} C _inst_1) (fun (X : CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) => CategoryTheory.Limits.hasColimitsOfShapeOfHasColimitsOfSize.{u1, u1, u1, u2} ℰ _inst_2 (CategoryTheory.CostructuredArrow.{u1, u1, u1, succ u1} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.yoneda.{u1, u1} C _inst_1) X) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u1, succ u1} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.yoneda.{u1, u1} C _inst_1) X) _inst_3))) A)
-Case conversion may be inaccurate. Consider using '#align category_theory.colimit_adj.extend_along_yoneda_iso_Kan CategoryTheory.ColimitAdj.extendAlongYonedaIsoKanₓ'. -/
/-- Verify that `extend_along_yoneda` is indeed the left Kan extension along the yoneda embedding.
-/
@[simps]
@@ -369,9 +333,6 @@ theorem coconeOfRepresentable_pt (P : Cᵒᵖ ⥤ Type u₁) : (coconeOfRepresen
#align category_theory.cocone_of_representable_X CategoryTheory.coconeOfRepresentable_pt
-/
-/- warning: category_theory.cocone_of_representable_ι_app -> CategoryTheory.coconeOfRepresentable_ι_app is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.cocone_of_representable_ι_app CategoryTheory.coconeOfRepresentable_ι_appₓ'. -/
-- Marking this as a simp lemma seems to make things more awkward.
/-- An explicit formula for the legs of the cocone `cocone_of_representable`. -/
theorem coconeOfRepresentable_ι_app (P : Cᵒᵖ ⥤ Type u₁) (j : P.Elementsᵒᵖ) :
@@ -379,9 +340,6 @@ theorem coconeOfRepresentable_ι_app (P : Cᵒᵖ ⥤ Type u₁) (j : P.Elements
colimit.ι_desc _ _
#align category_theory.cocone_of_representable_ι_app CategoryTheory.coconeOfRepresentable_ι_app
-/- warning: category_theory.cocone_of_representable_naturality -> CategoryTheory.coconeOfRepresentable_naturality is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.cocone_of_representable_naturality CategoryTheory.coconeOfRepresentable_naturalityₓ'. -/
/-- The legs of the cocone `cocone_of_representable` are natural in the choice of presheaf. -/
theorem coconeOfRepresentable_naturality {P₁ P₂ : Cᵒᵖ ⥤ Type u₁} (α : P₁ ⟶ P₂) (j : P₁.Elementsᵒᵖ) :
(coconeOfRepresentable P₁).ι.app j ≫ α =
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -275,20 +275,14 @@ def extendAlongYonedaIsoKanApp (X) :
trans colimit.pre ((category_of_elements.π X).leftOp ⋙ A) (𝟭 _)
congr
· exact congr_arg functor.op (category_of_elements.from_to_costructured_arrow_eq X)
- · ext
- simp only [colimit.ι_pre]
- erw [category.comp_id]
- congr
+ · ext; simp only [colimit.ι_pre]; erw [category.comp_id]; congr
inv_hom_id' :=
by
erw [colimit.pre_pre (Lan.diagram (yoneda : C ⥤ _ ⥤ Type u₁) A X) eq.functor]
trans colimit.pre (Lan.diagram (yoneda : C ⥤ _ ⥤ Type u₁) A X) (𝟭 _)
congr
· exact category_of_elements.to_from_costructured_arrow_eq X
- · ext
- simp only [colimit.ι_pre]
- erw [category.comp_id]
- congr }
+ · ext; simp only [colimit.ι_pre]; erw [category.comp_id]; congr }
#align category_theory.colimit_adj.extend_along_yoneda_iso_Kan_app CategoryTheory.ColimitAdj.extendAlongYonedaIsoKanApp
/- warning: category_theory.colimit_adj.extend_along_yoneda_iso_Kan -> CategoryTheory.ColimitAdj.extendAlongYonedaIsoKan is a dubious translation:
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -95,10 +95,7 @@ def restrictedYonedaYoneda : restrictedYoneda (yoneda : C ⥤ Cᵒᵖ ⥤ Type u
-/
/- warning: category_theory.colimit_adj.restrict_yoneda_hom_equiv -> CategoryTheory.ColimitAdj.restrictYonedaHomEquiv is a dubious translation:
-lean 3 declaration is
- forall {C : Type.{u1}} [_inst_1 : CategoryTheory.SmallCategory.{u1} C] {ℰ : Type.{u2}} [_inst_2 : CategoryTheory.Category.{u1, u2} ℰ] (A : CategoryTheory.Functor.{u1, u1, u1, u2} C _inst_1 ℰ _inst_2) (P : CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (E : ℰ) {c : CategoryTheory.Limits.Cocone.{u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) ℰ _inst_2 (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) A)}, (CategoryTheory.Limits.IsColimit.{u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) ℰ _inst_2 (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) A) c) -> (Equiv.{succ u1, succ u1} (Quiver.Hom.{succ u1, u2} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) ℰ _inst_2 (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) A) c) E) (Quiver.Hom.{succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) P (CategoryTheory.Functor.obj.{u1, u1, u2, succ u1} ℰ _inst_2 (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.ColimitAdj.restrictedYoneda.{u1, u2} C _inst_1 ℰ _inst_2 A) E)))
-but is expected to have type
- forall {C : Type.{u1}} [_inst_1 : CategoryTheory.SmallCategory.{u1} C] {ℰ : Type.{u2}} [_inst_2 : CategoryTheory.Category.{u1, u2} ℰ] (A : CategoryTheory.Functor.{u1, u1, u1, u2} C _inst_1 ℰ _inst_2) (P : CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (E : ℰ) {c : CategoryTheory.Limits.Cocone.{u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) ℰ _inst_2 (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) A)}, (CategoryTheory.Limits.IsColimit.{u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) ℰ _inst_2 (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) A) c) -> (Equiv.{succ u1, succ u1} (Quiver.Hom.{succ u1, u2} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) ℰ _inst_2 (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) A) c) E) (Quiver.Hom.{succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) P (Prefunctor.obj.{succ u1, succ u1, u2, succ u1} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, succ u1} ℰ _inst_2 (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.ColimitAdj.restrictedYoneda.{u1, u2} C _inst_1 ℰ _inst_2 A)) E)))
+<too large>
Case conversion may be inaccurate. Consider using '#align category_theory.colimit_adj.restrict_yoneda_hom_equiv CategoryTheory.ColimitAdj.restrictYonedaHomEquivₓ'. -/
/-- (Implementation). The equivalence of homsets which helps construct the left adjoint to
`colimit_adj.restricted_yoneda`.
@@ -132,10 +129,7 @@ def restrictYonedaHomEquiv (P : Cᵒᵖ ⥤ Type u₁) (E : ℰ)
#align category_theory.colimit_adj.restrict_yoneda_hom_equiv CategoryTheory.ColimitAdj.restrictYonedaHomEquiv
/- warning: category_theory.colimit_adj.restrict_yoneda_hom_equiv_natural -> CategoryTheory.ColimitAdj.restrictYonedaHomEquiv_natural is a dubious translation:
-lean 3 declaration is
- forall {C : Type.{u1}} [_inst_1 : CategoryTheory.SmallCategory.{u1} C] {ℰ : Type.{u2}} [_inst_2 : CategoryTheory.Category.{u1, u2} ℰ] (A : CategoryTheory.Functor.{u1, u1, u1, u2} C _inst_1 ℰ _inst_2) (P : CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (E₁ : ℰ) (E₂ : ℰ) (g : Quiver.Hom.{succ u1, u2} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) E₁ E₂) {c : CategoryTheory.Limits.Cocone.{u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) ℰ _inst_2 (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) A)} (t : CategoryTheory.Limits.IsColimit.{u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) ℰ _inst_2 (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) A) c) (k : Quiver.Hom.{succ u1, u2} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) ℰ _inst_2 (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) A) c) E₁), Eq.{succ u1} (Quiver.Hom.{succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) P (CategoryTheory.Functor.obj.{u1, u1, u2, succ u1} ℰ _inst_2 (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.ColimitAdj.restrictedYoneda.{u1, u2} C _inst_1 ℰ _inst_2 A) E₂)) (coeFn.{succ u1, succ u1} (Equiv.{succ u1, succ u1} (Quiver.Hom.{succ u1, u2} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) ℰ _inst_2 (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) A) c) E₂) (Quiver.Hom.{succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) P (CategoryTheory.Functor.obj.{u1, u1, u2, succ u1} ℰ _inst_2 (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.ColimitAdj.restrictedYoneda.{u1, u2} C _inst_1 ℰ _inst_2 A) E₂))) (fun (_x : Equiv.{succ u1, succ u1} (Quiver.Hom.{succ u1, u2} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) ℰ _inst_2 (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) A) c) E₂) (Quiver.Hom.{succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) P (CategoryTheory.Functor.obj.{u1, u1, u2, succ u1} ℰ _inst_2 (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.ColimitAdj.restrictedYoneda.{u1, u2} C _inst_1 ℰ _inst_2 A) E₂))) => (Quiver.Hom.{succ u1, u2} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) ℰ _inst_2 (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) A) c) E₂) -> (Quiver.Hom.{succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) P (CategoryTheory.Functor.obj.{u1, u1, u2, succ u1} ℰ _inst_2 (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.ColimitAdj.restrictedYoneda.{u1, u2} C _inst_1 ℰ _inst_2 A) E₂))) (Equiv.hasCoeToFun.{succ u1, succ u1} (Quiver.Hom.{succ u1, u2} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) ℰ _inst_2 (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) A) c) E₂) (Quiver.Hom.{succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) P (CategoryTheory.Functor.obj.{u1, u1, u2, succ u1} ℰ _inst_2 (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.ColimitAdj.restrictedYoneda.{u1, u2} C _inst_1 ℰ _inst_2 A) E₂))) (CategoryTheory.ColimitAdj.restrictYonedaHomEquiv.{u1, u2} C _inst_1 ℰ _inst_2 A P E₂ c t) (CategoryTheory.CategoryStruct.comp.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) ℰ _inst_2 (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) A) c) E₁ E₂ k g)) (CategoryTheory.CategoryStruct.comp.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) P (CategoryTheory.Functor.obj.{u1, u1, u2, succ u1} ℰ _inst_2 (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.ColimitAdj.restrictedYoneda.{u1, u2} C _inst_1 ℰ _inst_2 A) E₁) (CategoryTheory.Functor.obj.{u1, u1, u2, succ u1} ℰ _inst_2 (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.ColimitAdj.restrictedYoneda.{u1, u2} C _inst_1 ℰ _inst_2 A) E₂) (coeFn.{succ u1, succ u1} (Equiv.{succ u1, succ u1} (Quiver.Hom.{succ u1, u2} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) ℰ _inst_2 (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) A) c) E₁) (Quiver.Hom.{succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) P (CategoryTheory.Functor.obj.{u1, u1, u2, succ u1} ℰ _inst_2 (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.ColimitAdj.restrictedYoneda.{u1, u2} C _inst_1 ℰ _inst_2 A) E₁))) (fun (_x : Equiv.{succ u1, succ u1} (Quiver.Hom.{succ u1, u2} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) ℰ _inst_2 (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) A) c) E₁) (Quiver.Hom.{succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) P (CategoryTheory.Functor.obj.{u1, u1, u2, succ u1} ℰ _inst_2 (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.ColimitAdj.restrictedYoneda.{u1, u2} C _inst_1 ℰ _inst_2 A) E₁))) => (Quiver.Hom.{succ u1, u2} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) ℰ _inst_2 (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) A) c) E₁) -> (Quiver.Hom.{succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) P (CategoryTheory.Functor.obj.{u1, u1, u2, succ u1} ℰ _inst_2 (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.ColimitAdj.restrictedYoneda.{u1, u2} C _inst_1 ℰ _inst_2 A) E₁))) (Equiv.hasCoeToFun.{succ u1, succ u1} (Quiver.Hom.{succ u1, u2} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) ℰ _inst_2 (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) A) c) E₁) (Quiver.Hom.{succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) P (CategoryTheory.Functor.obj.{u1, u1, u2, succ u1} ℰ _inst_2 (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.ColimitAdj.restrictedYoneda.{u1, u2} C _inst_1 ℰ _inst_2 A) E₁))) (CategoryTheory.ColimitAdj.restrictYonedaHomEquiv.{u1, u2} C _inst_1 ℰ _inst_2 A P E₁ c t) k) (CategoryTheory.Functor.map.{u1, u1, u2, succ u1} ℰ _inst_2 (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.ColimitAdj.restrictedYoneda.{u1, u2} C _inst_1 ℰ _inst_2 A) E₁ E₂ g))
-but is expected to have type
- forall {C : Type.{u1}} [_inst_1 : CategoryTheory.SmallCategory.{u1} C] {ℰ : Type.{u2}} [_inst_2 : CategoryTheory.Category.{u1, u2} ℰ] (A : CategoryTheory.Functor.{u1, u1, u1, u2} C _inst_1 ℰ _inst_2) (P : CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (E₁ : ℰ) (E₂ : ℰ) (g : Quiver.Hom.{succ u1, u2} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) E₁ E₂) {c : CategoryTheory.Limits.Cocone.{u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) ℰ _inst_2 (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) A)} (t : CategoryTheory.Limits.IsColimit.{u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) ℰ _inst_2 (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) A) c) (k : Quiver.Hom.{succ u1, u2} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) ℰ _inst_2 (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) A) c) E₁), Eq.{succ u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : Quiver.Hom.{succ u1, u2} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) ℰ _inst_2 (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) A) c) E₂) => Quiver.Hom.{succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) P (Prefunctor.obj.{succ u1, succ u1, u2, succ u1} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, succ u1} ℰ _inst_2 (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.ColimitAdj.restrictedYoneda.{u1, u2} C _inst_1 ℰ _inst_2 A)) E₂)) (CategoryTheory.CategoryStruct.comp.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) ℰ _inst_2 (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) A) c) E₁ E₂ k g)) (FunLike.coe.{succ u1, succ u1, succ u1} (Equiv.{succ u1, succ u1} (Quiver.Hom.{succ u1, u2} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) ℰ _inst_2 (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) A) c) E₂) (Quiver.Hom.{succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) P (Prefunctor.obj.{succ u1, succ u1, u2, succ u1} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, succ u1} ℰ _inst_2 (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.ColimitAdj.restrictedYoneda.{u1, u2} C _inst_1 ℰ _inst_2 A)) E₂))) (Quiver.Hom.{succ u1, u2} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) ℰ _inst_2 (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) A) c) E₂) (fun (_x : Quiver.Hom.{succ u1, u2} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) ℰ _inst_2 (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) A) c) E₂) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : Quiver.Hom.{succ u1, u2} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) ℰ _inst_2 (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) A) c) E₂) => Quiver.Hom.{succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) P (Prefunctor.obj.{succ u1, succ u1, u2, succ u1} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, succ u1} ℰ _inst_2 (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.ColimitAdj.restrictedYoneda.{u1, u2} C _inst_1 ℰ _inst_2 A)) E₂)) _x) (Equiv.instFunLikeEquiv.{succ u1, succ u1} (Quiver.Hom.{succ u1, u2} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) ℰ _inst_2 (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) A) c) E₂) (Quiver.Hom.{succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) P (Prefunctor.obj.{succ u1, succ u1, u2, succ u1} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, succ u1} ℰ _inst_2 (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.ColimitAdj.restrictedYoneda.{u1, u2} C _inst_1 ℰ _inst_2 A)) E₂))) (CategoryTheory.ColimitAdj.restrictYonedaHomEquiv.{u1, u2} C _inst_1 ℰ _inst_2 A P E₂ c t) (CategoryTheory.CategoryStruct.comp.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) ℰ _inst_2 (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) A) c) E₁ E₂ k g)) (CategoryTheory.CategoryStruct.comp.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) P (Prefunctor.obj.{succ u1, succ u1, u2, succ u1} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, succ u1} ℰ _inst_2 (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.ColimitAdj.restrictedYoneda.{u1, u2} C _inst_1 ℰ _inst_2 A)) E₁) (Prefunctor.obj.{succ u1, succ u1, u2, succ u1} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, succ u1} ℰ _inst_2 (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.ColimitAdj.restrictedYoneda.{u1, u2} C _inst_1 ℰ _inst_2 A)) E₂) (FunLike.coe.{succ u1, succ u1, succ u1} (Equiv.{succ u1, succ u1} (Quiver.Hom.{succ u1, u2} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) ℰ _inst_2 (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) A) c) E₁) (Quiver.Hom.{succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) P (Prefunctor.obj.{succ u1, succ u1, u2, succ u1} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, succ u1} ℰ _inst_2 (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.ColimitAdj.restrictedYoneda.{u1, u2} C _inst_1 ℰ _inst_2 A)) E₁))) (Quiver.Hom.{succ u1, u2} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) ℰ _inst_2 (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) A) c) E₁) (fun (_x : Quiver.Hom.{succ u1, u2} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) ℰ _inst_2 (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) A) c) E₁) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : Quiver.Hom.{succ u1, u2} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) ℰ _inst_2 (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) A) c) E₁) => Quiver.Hom.{succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) P (Prefunctor.obj.{succ u1, succ u1, u2, succ u1} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, succ u1} ℰ _inst_2 (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.ColimitAdj.restrictedYoneda.{u1, u2} C _inst_1 ℰ _inst_2 A)) E₁)) _x) (Equiv.instFunLikeEquiv.{succ u1, succ u1} (Quiver.Hom.{succ u1, u2} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) ℰ _inst_2 (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) A) c) E₁) (Quiver.Hom.{succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) P (Prefunctor.obj.{succ u1, succ u1, u2, succ u1} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, succ u1} ℰ _inst_2 (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.ColimitAdj.restrictedYoneda.{u1, u2} C _inst_1 ℰ _inst_2 A)) E₁))) (CategoryTheory.ColimitAdj.restrictYonedaHomEquiv.{u1, u2} C _inst_1 ℰ _inst_2 A P E₁ c t) k) (Prefunctor.map.{succ u1, succ u1, u2, succ u1} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, succ u1} ℰ _inst_2 (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.ColimitAdj.restrictedYoneda.{u1, u2} C _inst_1 ℰ _inst_2 A)) E₁ E₂ g))
+<too large>
Case conversion may be inaccurate. Consider using '#align category_theory.colimit_adj.restrict_yoneda_hom_equiv_natural CategoryTheory.ColimitAdj.restrictYonedaHomEquiv_naturalₓ'. -/
/--
(Implementation). Show that the bijection in `restrict_yoneda_hom_equiv` is natural (on the right).
@@ -176,10 +170,7 @@ theorem extendAlongYoneda_obj (P : Cᵒᵖ ⥤ Type u₁) :
#align category_theory.colimit_adj.extend_along_yoneda_obj CategoryTheory.ColimitAdj.extendAlongYoneda_obj
/- warning: category_theory.colimit_adj.extend_along_yoneda_map -> CategoryTheory.ColimitAdj.extendAlongYoneda_map is a dubious translation:
-lean 3 declaration is
- forall {C : Type.{u1}} [_inst_1 : CategoryTheory.SmallCategory.{u1} C] {ℰ : Type.{u2}} [_inst_2 : CategoryTheory.Category.{u1, u2} ℰ] (A : CategoryTheory.Functor.{u1, u1, u1, u2} C _inst_1 ℰ _inst_2) [_inst_3 : CategoryTheory.Limits.HasColimits.{u1, u2} ℰ _inst_2] {X : CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}} {Y : CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}} (f : Quiver.Hom.{succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) X Y), Eq.{succ u1} (Quiver.Hom.{succ u1, u2} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, succ u1, u2} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) ℰ _inst_2 (CategoryTheory.ColimitAdj.extendAlongYoneda.{u1, u2} C _inst_1 ℰ _inst_2 A _inst_3) X) (CategoryTheory.Functor.obj.{u1, u1, succ u1, u2} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) ℰ _inst_2 (CategoryTheory.ColimitAdj.extendAlongYoneda.{u1, u2} C _inst_1 ℰ _inst_2 A _inst_3) Y)) (CategoryTheory.Functor.map.{u1, u1, succ u1, u2} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) ℰ _inst_2 (CategoryTheory.ColimitAdj.extendAlongYoneda.{u1, u2} C _inst_1 ℰ _inst_2 A _inst_3) X Y f) (CategoryTheory.Limits.colimit.pre.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Y)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Y) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Y)) (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) X)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) X) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) X)) ℰ _inst_2 (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Y)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Y) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Y)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Y) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Y) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Y)) A) (CategoryTheory.ColimitAdj.extendAlongYoneda._proof_1.{u1, u2} C _inst_1 ℰ _inst_2 A _inst_3 Y) (CategoryTheory.Functor.op.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) X) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) X) (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Y) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Y) (CategoryTheory.CategoryOfElements.map.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) X Y f)) (CategoryTheory.ColimitAdj.extendAlongYoneda._proof_1.{u1, u2} C _inst_1 ℰ _inst_2 A _inst_3 X))
-but is expected to have type
- forall {C : Type.{u1}} [_inst_1 : CategoryTheory.SmallCategory.{u1} C] {ℰ : Type.{u2}} [_inst_2 : CategoryTheory.Category.{u1, u2} ℰ] (A : CategoryTheory.Functor.{u1, u1, u1, u2} C _inst_1 ℰ _inst_2) [_inst_3 : CategoryTheory.Limits.HasColimits.{u1, u2} ℰ _inst_2] {X : CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}} {Y : CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}} (f : Quiver.Hom.{succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) X Y), Eq.{succ u1} (Quiver.Hom.{succ u1, u2} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (Prefunctor.obj.{succ u1, succ u1, succ u1, u2} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, u2} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) ℰ _inst_2 (CategoryTheory.ColimitAdj.extendAlongYoneda.{u1, u2} C _inst_1 ℰ _inst_2 A _inst_3)) X) (Prefunctor.obj.{succ u1, succ u1, succ u1, u2} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, u2} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) ℰ _inst_2 (CategoryTheory.ColimitAdj.extendAlongYoneda.{u1, u2} C _inst_1 ℰ _inst_2 A _inst_3)) Y)) (Prefunctor.map.{succ u1, succ u1, succ u1, u2} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, u2} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) ℰ _inst_2 (CategoryTheory.ColimitAdj.extendAlongYoneda.{u1, u2} C _inst_1 ℰ _inst_2 A _inst_3)) X Y f) (CategoryTheory.Limits.colimit.pre.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Y)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Y) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Y)) (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) X)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) X) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) X)) ℰ _inst_2 (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Y)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Y) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Y)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Y) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Y) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Y)) A) (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u1, u1, u2} ℰ _inst_2 (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Y)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Y) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Y)) (CategoryTheory.Limits.hasColimitsOfShapeOfHasColimitsOfSize.{u1, u1, u1, u2} ℰ _inst_2 (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Y)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Y) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Y)) _inst_3) (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Y)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Y) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Y)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Y) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Y) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Y)) A)) (CategoryTheory.Functor.op.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) X) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) X) (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Y) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Y) (CategoryTheory.CategoryOfElements.map.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) X Y f)) (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u1, u1, u2} ℰ _inst_2 (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) X)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) X) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) X)) (CategoryTheory.Limits.hasColimitsOfShapeOfHasColimitsOfSize.{u1, u1, u1, u2} ℰ _inst_2 (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) X)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) X) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) X)) _inst_3) (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) X)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) X) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) X)) (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Y)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Y) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Y)) ℰ _inst_2 (CategoryTheory.Functor.op.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) X) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) X) (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Y) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Y) (CategoryTheory.CategoryOfElements.map.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) X Y f)) (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Y)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Y) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Y)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Y) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Y) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Y)) A))))
+<too large>
Case conversion may be inaccurate. Consider using '#align category_theory.colimit_adj.extend_along_yoneda_map CategoryTheory.ColimitAdj.extendAlongYoneda_mapₓ'. -/
theorem extendAlongYoneda_map {X Y : Cᵒᵖ ⥤ Type u₁} (f : X ⟶ Y) :
(extendAlongYoneda A).map f =
@@ -267,10 +258,7 @@ instance : PreservesColimits (extendAlongYoneda A) :=
(yonedaAdjunction A).leftAdjointPreservesColimits
/- warning: category_theory.colimit_adj.extend_along_yoneda_iso_Kan_app -> CategoryTheory.ColimitAdj.extendAlongYonedaIsoKanApp is a dubious translation:
-lean 3 declaration is
- forall {C : Type.{u1}} [_inst_1 : CategoryTheory.SmallCategory.{u1} C] {ℰ : Type.{u2}} [_inst_2 : CategoryTheory.Category.{u1, u2} ℰ] (A : CategoryTheory.Functor.{u1, u1, u1, u2} C _inst_1 ℰ _inst_2) [_inst_3 : CategoryTheory.Limits.HasColimits.{u1, u2} ℰ _inst_2] (X : CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}), CategoryTheory.Iso.{u1, u2} ℰ _inst_2 (CategoryTheory.Functor.obj.{u1, u1, succ u1, u2} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) ℰ _inst_2 (CategoryTheory.ColimitAdj.extendAlongYoneda.{u1, u2} C _inst_1 ℰ _inst_2 A _inst_3) X) (CategoryTheory.Functor.obj.{u1, u1, succ u1, u2} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) ℰ _inst_2 (CategoryTheory.Functor.obj.{u1, succ u1, max u1 u2, max u1 (succ u1) u2} (CategoryTheory.Functor.{u1, u1, u1, u2} C _inst_1 ℰ _inst_2) (CategoryTheory.Functor.category.{u1, u1, u1, u2} C _inst_1 ℰ _inst_2) (CategoryTheory.Functor.{u1, u1, succ u1, u2} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) ℰ _inst_2) (CategoryTheory.Functor.category.{u1, u1, succ u1, u2} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) ℰ _inst_2) (CategoryTheory.lan.{u1, u1, u1, u1, succ u1, u2} C (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) ℰ _inst_1 (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) _inst_2 (CategoryTheory.yoneda.{u1, u1} C _inst_1) (CategoryTheory.ColimitAdj.extendAlongYonedaIsoKanApp._proof_1.{u1, u2} C _inst_1 ℰ _inst_2 _inst_3)) A) X)
-but is expected to have type
- forall {C : Type.{u1}} [_inst_1 : CategoryTheory.SmallCategory.{u1} C] {ℰ : Type.{u2}} [_inst_2 : CategoryTheory.Category.{u1, u2} ℰ] (A : CategoryTheory.Functor.{u1, u1, u1, u2} C _inst_1 ℰ _inst_2) [_inst_3 : CategoryTheory.Limits.HasColimits.{u1, u2} ℰ _inst_2] (X : CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}), CategoryTheory.Iso.{u1, u2} ℰ _inst_2 (Prefunctor.obj.{succ u1, succ u1, succ u1, u2} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, u2} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) ℰ _inst_2 (CategoryTheory.ColimitAdj.extendAlongYoneda.{u1, u2} C _inst_1 ℰ _inst_2 A _inst_3)) X) (Prefunctor.obj.{succ u1, succ u1, succ u1, u2} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, u2} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) ℰ _inst_2 (Prefunctor.obj.{succ u1, succ (succ u1), max u1 u2, max (max u1 u2) (succ u1)} (CategoryTheory.Functor.{u1, u1, u1, u2} C _inst_1 ℰ _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} C _inst_1 ℰ _inst_2) (CategoryTheory.Category.toCategoryStruct.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} C _inst_1 ℰ _inst_2) (CategoryTheory.Functor.category.{u1, u1, u1, u2} C _inst_1 ℰ _inst_2))) (CategoryTheory.Functor.{u1, u1, succ u1, u2} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) ℰ _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{succ u1, max (max u1 u2) (succ u1)} (CategoryTheory.Functor.{u1, u1, succ u1, u2} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) ℰ _inst_2) (CategoryTheory.Category.toCategoryStruct.{succ u1, max (max u1 u2) (succ u1)} (CategoryTheory.Functor.{u1, u1, succ u1, u2} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) ℰ _inst_2) (CategoryTheory.Functor.category.{u1, u1, succ u1, u2} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) ℰ _inst_2))) (CategoryTheory.Functor.toPrefunctor.{u1, succ u1, max u1 u2, max (max u1 u2) (succ u1)} (CategoryTheory.Functor.{u1, u1, u1, u2} C _inst_1 ℰ _inst_2) (CategoryTheory.Functor.category.{u1, u1, u1, u2} C _inst_1 ℰ _inst_2) (CategoryTheory.Functor.{u1, u1, succ u1, u2} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) ℰ _inst_2) (CategoryTheory.Functor.category.{u1, u1, succ u1, u2} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) ℰ _inst_2) (CategoryTheory.lan.{u1, u1, u1, u1, succ u1, u2} C (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) ℰ _inst_1 (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) _inst_2 (CategoryTheory.yoneda.{u1, u1} C _inst_1) (fun (X : CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) => CategoryTheory.Limits.hasColimitsOfShapeOfHasColimitsOfSize.{u1, u1, u1, u2} ℰ _inst_2 (CategoryTheory.CostructuredArrow.{u1, u1, u1, succ u1} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.yoneda.{u1, u1} C _inst_1) X) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u1, succ u1} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.yoneda.{u1, u1} C _inst_1) X) _inst_3))) A)) X)
+<too large>
Case conversion may be inaccurate. Consider using '#align category_theory.colimit_adj.extend_along_yoneda_iso_Kan_app CategoryTheory.ColimitAdj.extendAlongYonedaIsoKanAppₓ'. -/
/-- Show that the images of `X` after `extend_along_yoneda` and `Lan yoneda` are indeed isomorphic.
This follows from `category_theory.category_of_elements.costructured_arrow_yoneda_equivalence`.
@@ -388,10 +376,7 @@ theorem coconeOfRepresentable_pt (P : Cᵒᵖ ⥤ Type u₁) : (coconeOfRepresen
-/
/- warning: category_theory.cocone_of_representable_ι_app -> CategoryTheory.coconeOfRepresentable_ι_app is a dubious translation:
-lean 3 declaration is
- forall {C : Type.{u1}} [_inst_1 : CategoryTheory.SmallCategory.{u1} C] (P : CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (j : Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)), Eq.{succ u1} (Quiver.Hom.{succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.functorToRepresentables.{u1} C _inst_1 P) j) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.obj.{u1, u1, succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.const.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.functorToRepresentables.{u1} C _inst_1 P) (CategoryTheory.coconeOfRepresentable.{u1} C _inst_1 P))) j)) (CategoryTheory.NatTrans.app.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.functorToRepresentables.{u1} C _inst_1 P) (CategoryTheory.Functor.obj.{u1, u1, succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.const.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.functorToRepresentables.{u1} C _inst_1 P) (CategoryTheory.coconeOfRepresentable.{u1} C _inst_1 P))) (CategoryTheory.Limits.Cocone.ι.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.functorToRepresentables.{u1} C _inst_1 P) (CategoryTheory.coconeOfRepresentable.{u1} C _inst_1 P)) j) (CategoryTheory.Iso.inv.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1} (Quiver.Hom.{succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.yoneda.{u1, u1} C _inst_1) (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) j)) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.obj.{u1, u1, succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.const.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.functorToRepresentables.{u1} C _inst_1 P) (CategoryTheory.coconeOfRepresentable.{u1} C _inst_1 P))) j)) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.obj.{u1, u1, succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.const.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.functorToRepresentables.{u1} C _inst_1 P) (CategoryTheory.coconeOfRepresentable.{u1} C _inst_1 P))) j) (Opposite.op.{succ u1} C (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) j))) (CategoryTheory.yonedaSectionsSmall.{u1} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) j) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.obj.{u1, u1, succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.const.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.functorToRepresentables.{u1} C _inst_1 P) (CategoryTheory.coconeOfRepresentable.{u1} C _inst_1 P))) j)) (Sigma.snd.{u1, u1} (Opposite.{succ u1} C) (fun (c : Opposite.{succ u1} C) => CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1} P c) (Opposite.unop.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) j)))
-but is expected to have type
- forall {C : Type.{u1}} [_inst_1 : CategoryTheory.SmallCategory.{u1} C] (P : CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (j : Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)), Eq.{succ u1} (Quiver.Hom.{succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)))) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.functorToRepresentables.{u1} C _inst_1 P)) j) (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)))) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (Prefunctor.obj.{succ u1, succ u1, succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.const.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.functorToRepresentables.{u1} C _inst_1 P) (CategoryTheory.coconeOfRepresentable.{u1} C _inst_1 P)))) j)) (CategoryTheory.NatTrans.app.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.functorToRepresentables.{u1} C _inst_1 P) (Prefunctor.obj.{succ u1, succ u1, succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.const.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.functorToRepresentables.{u1} C _inst_1 P) (CategoryTheory.coconeOfRepresentable.{u1} C _inst_1 P))) (CategoryTheory.Limits.Cocone.ι.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.functorToRepresentables.{u1} C _inst_1 P) (CategoryTheory.coconeOfRepresentable.{u1} C _inst_1 P)) j) (CategoryTheory.Iso.inv.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1} (Quiver.Hom.{succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} C (CategoryTheory.Category.toCategoryStruct.{u1, u1} C _inst_1)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.yoneda.{u1, u1} C _inst_1)) (Opposite.unop.{succ u1} C ((Opposite.unop.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) j).0))) P) (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1))) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1} P) (Opposite.op.{succ u1} C (Opposite.unop.{succ u1} C ((Opposite.unop.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) j).0)))) (CategoryTheory.yonedaSectionsSmall.{u1} C _inst_1 (Opposite.unop.{succ u1} C ((Opposite.unop.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) j).0)) P) (Sigma.snd.{u1, u1} (Opposite.{succ u1} C) (fun (c : Opposite.{succ u1} C) => Prefunctor.obj.{succ u1, succ u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1))) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1} P) c) (Opposite.unop.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) j)))
+<too large>
Case conversion may be inaccurate. Consider using '#align category_theory.cocone_of_representable_ι_app CategoryTheory.coconeOfRepresentable_ι_appₓ'. -/
-- Marking this as a simp lemma seems to make things more awkward.
/-- An explicit formula for the legs of the cocone `cocone_of_representable`. -/
@@ -401,10 +386,7 @@ theorem coconeOfRepresentable_ι_app (P : Cᵒᵖ ⥤ Type u₁) (j : P.Elements
#align category_theory.cocone_of_representable_ι_app CategoryTheory.coconeOfRepresentable_ι_app
/- warning: category_theory.cocone_of_representable_naturality -> CategoryTheory.coconeOfRepresentable_naturality is a dubious translation:
-lean 3 declaration is
- forall {C : Type.{u1}} [_inst_1 : CategoryTheory.SmallCategory.{u1} C] {P₁ : CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}} {P₂ : CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}} (α : Quiver.Hom.{succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) P₁ P₂) (j : Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)), Eq.{succ u1} (Quiver.Hom.{succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.functorToRepresentables.{u1} C _inst_1 P₁) j) P₂) (CategoryTheory.CategoryStruct.comp.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.functorToRepresentables.{u1} C _inst_1 P₁) j) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.obj.{u1, u1, succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.const.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.functorToRepresentables.{u1} C _inst_1 P₁) (CategoryTheory.coconeOfRepresentable.{u1} C _inst_1 P₁))) j) P₂ (CategoryTheory.NatTrans.app.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.functorToRepresentables.{u1} C _inst_1 P₁) (CategoryTheory.Functor.obj.{u1, u1, succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.const.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.functorToRepresentables.{u1} C _inst_1 P₁) (CategoryTheory.coconeOfRepresentable.{u1} C _inst_1 P₁))) (CategoryTheory.Limits.Cocone.ι.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.functorToRepresentables.{u1} C _inst_1 P₁) (CategoryTheory.coconeOfRepresentable.{u1} C _inst_1 P₁)) j) α) (CategoryTheory.NatTrans.app.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.functorToRepresentables.{u1} C _inst_1 P₂) (CategoryTheory.Functor.obj.{u1, u1, succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.const.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.functorToRepresentables.{u1} C _inst_1 P₂) (CategoryTheory.coconeOfRepresentable.{u1} C _inst_1 P₂))) (CategoryTheory.Limits.Cocone.ι.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.functorToRepresentables.{u1} C _inst_1 P₂) (CategoryTheory.coconeOfRepresentable.{u1} C _inst_1 P₂)) (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂)) (CategoryTheory.Functor.op.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁) (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂) (CategoryTheory.CategoryOfElements.map.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁ P₂ α)) j))
-but is expected to have type
- forall {C : Type.{u1}} [_inst_1 : CategoryTheory.SmallCategory.{u1} C] {P₁ : CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}} {P₂ : CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}} (α : Quiver.Hom.{succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) P₁ P₂) (j : Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)), Eq.{succ u1} (Quiver.Hom.{succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)))) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.functorToRepresentables.{u1} C _inst_1 P₁)) j) P₂) (CategoryTheory.CategoryStruct.comp.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)))) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.functorToRepresentables.{u1} C _inst_1 P₁)) j) (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)))) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (Prefunctor.obj.{succ u1, succ u1, succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.const.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.functorToRepresentables.{u1} C _inst_1 P₁) (CategoryTheory.coconeOfRepresentable.{u1} C _inst_1 P₁)))) j) P₂ (CategoryTheory.NatTrans.app.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.functorToRepresentables.{u1} C _inst_1 P₁) (Prefunctor.obj.{succ u1, succ u1, succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.const.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.functorToRepresentables.{u1} C _inst_1 P₁) (CategoryTheory.coconeOfRepresentable.{u1} C _inst_1 P₁))) (CategoryTheory.Limits.Cocone.ι.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.functorToRepresentables.{u1} C _inst_1 P₁) (CategoryTheory.coconeOfRepresentable.{u1} C _inst_1 P₁)) j) α) (CategoryTheory.NatTrans.app.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.functorToRepresentables.{u1} C _inst_1 P₂) (Prefunctor.obj.{succ u1, succ u1, succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.const.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.functorToRepresentables.{u1} C _inst_1 P₂) (CategoryTheory.coconeOfRepresentable.{u1} C _inst_1 P₂))) (CategoryTheory.Limits.Cocone.ι.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.functorToRepresentables.{u1} C _inst_1 P₂) (CategoryTheory.coconeOfRepresentable.{u1} C _inst_1 P₂)) (Prefunctor.obj.{succ u1, succ u1, u1, u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)))) (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂)) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂)) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂)))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂)) (CategoryTheory.Functor.op.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁) (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂) (CategoryTheory.CategoryOfElements.map.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁ P₂ α))) j))
+<too large>
Case conversion may be inaccurate. Consider using '#align category_theory.cocone_of_representable_naturality CategoryTheory.coconeOfRepresentable_naturalityₓ'. -/
/-- The legs of the cocone `cocone_of_representable` are natural in the choice of presheaf. -/
theorem coconeOfRepresentable_naturality {P₁ P₂ : Cᵒᵖ ⥤ Type u₁} (α : P₁ ⟶ P₂) (j : P₁.Elementsᵒᵖ) :
mathlib commit https://github.com/leanprover-community/mathlib/commit/95a87616d63b3cb49d3fe678d416fbe9c4217bf4
@@ -135,7 +135,7 @@ def restrictYonedaHomEquiv (P : Cᵒᵖ ⥤ Type u₁) (E : ℰ)
lean 3 declaration is
forall {C : Type.{u1}} [_inst_1 : CategoryTheory.SmallCategory.{u1} C] {ℰ : Type.{u2}} [_inst_2 : CategoryTheory.Category.{u1, u2} ℰ] (A : CategoryTheory.Functor.{u1, u1, u1, u2} C _inst_1 ℰ _inst_2) (P : CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (E₁ : ℰ) (E₂ : ℰ) (g : Quiver.Hom.{succ u1, u2} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) E₁ E₂) {c : CategoryTheory.Limits.Cocone.{u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) ℰ _inst_2 (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) A)} (t : CategoryTheory.Limits.IsColimit.{u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) ℰ _inst_2 (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) A) c) (k : Quiver.Hom.{succ u1, u2} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) ℰ _inst_2 (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) A) c) E₁), Eq.{succ u1} (Quiver.Hom.{succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) P (CategoryTheory.Functor.obj.{u1, u1, u2, succ u1} ℰ _inst_2 (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.ColimitAdj.restrictedYoneda.{u1, u2} C _inst_1 ℰ _inst_2 A) E₂)) (coeFn.{succ u1, succ u1} (Equiv.{succ u1, succ u1} (Quiver.Hom.{succ u1, u2} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) ℰ _inst_2 (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) A) c) E₂) (Quiver.Hom.{succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) P (CategoryTheory.Functor.obj.{u1, u1, u2, succ u1} ℰ _inst_2 (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.ColimitAdj.restrictedYoneda.{u1, u2} C _inst_1 ℰ _inst_2 A) E₂))) (fun (_x : Equiv.{succ u1, succ u1} (Quiver.Hom.{succ u1, u2} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) ℰ _inst_2 (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) A) c) E₂) (Quiver.Hom.{succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) P (CategoryTheory.Functor.obj.{u1, u1, u2, succ u1} ℰ _inst_2 (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.ColimitAdj.restrictedYoneda.{u1, u2} C _inst_1 ℰ _inst_2 A) E₂))) => (Quiver.Hom.{succ u1, u2} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) ℰ _inst_2 (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) A) c) E₂) -> (Quiver.Hom.{succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) P (CategoryTheory.Functor.obj.{u1, u1, u2, succ u1} ℰ _inst_2 (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.ColimitAdj.restrictedYoneda.{u1, u2} C _inst_1 ℰ _inst_2 A) E₂))) (Equiv.hasCoeToFun.{succ u1, succ u1} (Quiver.Hom.{succ u1, u2} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) ℰ _inst_2 (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) A) c) E₂) (Quiver.Hom.{succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) P (CategoryTheory.Functor.obj.{u1, u1, u2, succ u1} ℰ _inst_2 (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.ColimitAdj.restrictedYoneda.{u1, u2} C _inst_1 ℰ _inst_2 A) E₂))) (CategoryTheory.ColimitAdj.restrictYonedaHomEquiv.{u1, u2} C _inst_1 ℰ _inst_2 A P E₂ c t) (CategoryTheory.CategoryStruct.comp.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) ℰ _inst_2 (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) A) c) E₁ E₂ k g)) (CategoryTheory.CategoryStruct.comp.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) P (CategoryTheory.Functor.obj.{u1, u1, u2, succ u1} ℰ _inst_2 (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.ColimitAdj.restrictedYoneda.{u1, u2} C _inst_1 ℰ _inst_2 A) E₁) (CategoryTheory.Functor.obj.{u1, u1, u2, succ u1} ℰ _inst_2 (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.ColimitAdj.restrictedYoneda.{u1, u2} C _inst_1 ℰ _inst_2 A) E₂) (coeFn.{succ u1, succ u1} (Equiv.{succ u1, succ u1} (Quiver.Hom.{succ u1, u2} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) ℰ _inst_2 (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) A) c) E₁) (Quiver.Hom.{succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) P (CategoryTheory.Functor.obj.{u1, u1, u2, succ u1} ℰ _inst_2 (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.ColimitAdj.restrictedYoneda.{u1, u2} C _inst_1 ℰ _inst_2 A) E₁))) (fun (_x : Equiv.{succ u1, succ u1} (Quiver.Hom.{succ u1, u2} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) ℰ _inst_2 (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) A) c) E₁) (Quiver.Hom.{succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) P (CategoryTheory.Functor.obj.{u1, u1, u2, succ u1} ℰ _inst_2 (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.ColimitAdj.restrictedYoneda.{u1, u2} C _inst_1 ℰ _inst_2 A) E₁))) => (Quiver.Hom.{succ u1, u2} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) ℰ _inst_2 (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) A) c) E₁) -> (Quiver.Hom.{succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) P (CategoryTheory.Functor.obj.{u1, u1, u2, succ u1} ℰ _inst_2 (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.ColimitAdj.restrictedYoneda.{u1, u2} C _inst_1 ℰ _inst_2 A) E₁))) (Equiv.hasCoeToFun.{succ u1, succ u1} (Quiver.Hom.{succ u1, u2} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) ℰ _inst_2 (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) A) c) E₁) (Quiver.Hom.{succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) P (CategoryTheory.Functor.obj.{u1, u1, u2, succ u1} ℰ _inst_2 (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.ColimitAdj.restrictedYoneda.{u1, u2} C _inst_1 ℰ _inst_2 A) E₁))) (CategoryTheory.ColimitAdj.restrictYonedaHomEquiv.{u1, u2} C _inst_1 ℰ _inst_2 A P E₁ c t) k) (CategoryTheory.Functor.map.{u1, u1, u2, succ u1} ℰ _inst_2 (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.ColimitAdj.restrictedYoneda.{u1, u2} C _inst_1 ℰ _inst_2 A) E₁ E₂ g))
but is expected to have type
- forall {C : Type.{u1}} [_inst_1 : CategoryTheory.SmallCategory.{u1} C] {ℰ : Type.{u2}} [_inst_2 : CategoryTheory.Category.{u1, u2} ℰ] (A : CategoryTheory.Functor.{u1, u1, u1, u2} C _inst_1 ℰ _inst_2) (P : CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (E₁ : ℰ) (E₂ : ℰ) (g : Quiver.Hom.{succ u1, u2} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) E₁ E₂) {c : CategoryTheory.Limits.Cocone.{u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) ℰ _inst_2 (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) A)} (t : CategoryTheory.Limits.IsColimit.{u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) ℰ _inst_2 (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) A) c) (k : Quiver.Hom.{succ u1, u2} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) ℰ _inst_2 (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) A) c) E₁), Eq.{succ u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : Quiver.Hom.{succ u1, u2} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) ℰ _inst_2 (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) A) c) E₂) => Quiver.Hom.{succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) P (Prefunctor.obj.{succ u1, succ u1, u2, succ u1} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, succ u1} ℰ _inst_2 (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.ColimitAdj.restrictedYoneda.{u1, u2} C _inst_1 ℰ _inst_2 A)) E₂)) (CategoryTheory.CategoryStruct.comp.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) ℰ _inst_2 (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) A) c) E₁ E₂ k g)) (FunLike.coe.{succ u1, succ u1, succ u1} (Equiv.{succ u1, succ u1} (Quiver.Hom.{succ u1, u2} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) ℰ _inst_2 (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) A) c) E₂) (Quiver.Hom.{succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) P (Prefunctor.obj.{succ u1, succ u1, u2, succ u1} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, succ u1} ℰ _inst_2 (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.ColimitAdj.restrictedYoneda.{u1, u2} C _inst_1 ℰ _inst_2 A)) E₂))) (Quiver.Hom.{succ u1, u2} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) ℰ _inst_2 (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) A) c) E₂) (fun (_x : Quiver.Hom.{succ u1, u2} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) ℰ _inst_2 (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) A) c) E₂) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : Quiver.Hom.{succ u1, u2} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) ℰ _inst_2 (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) A) c) E₂) => Quiver.Hom.{succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) P (Prefunctor.obj.{succ u1, succ u1, u2, succ u1} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, succ u1} ℰ _inst_2 (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.ColimitAdj.restrictedYoneda.{u1, u2} C _inst_1 ℰ _inst_2 A)) E₂)) _x) (Equiv.instFunLikeEquiv.{succ u1, succ u1} (Quiver.Hom.{succ u1, u2} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) ℰ _inst_2 (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) A) c) E₂) (Quiver.Hom.{succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) P (Prefunctor.obj.{succ u1, succ u1, u2, succ u1} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, succ u1} ℰ _inst_2 (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.ColimitAdj.restrictedYoneda.{u1, u2} C _inst_1 ℰ _inst_2 A)) E₂))) (CategoryTheory.ColimitAdj.restrictYonedaHomEquiv.{u1, u2} C _inst_1 ℰ _inst_2 A P E₂ c t) (CategoryTheory.CategoryStruct.comp.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) ℰ _inst_2 (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) A) c) E₁ E₂ k g)) (CategoryTheory.CategoryStruct.comp.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) P (Prefunctor.obj.{succ u1, succ u1, u2, succ u1} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, succ u1} ℰ _inst_2 (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.ColimitAdj.restrictedYoneda.{u1, u2} C _inst_1 ℰ _inst_2 A)) E₁) (Prefunctor.obj.{succ u1, succ u1, u2, succ u1} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, succ u1} ℰ _inst_2 (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.ColimitAdj.restrictedYoneda.{u1, u2} C _inst_1 ℰ _inst_2 A)) E₂) (FunLike.coe.{succ u1, succ u1, succ u1} (Equiv.{succ u1, succ u1} (Quiver.Hom.{succ u1, u2} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) ℰ _inst_2 (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) A) c) E₁) (Quiver.Hom.{succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) P (Prefunctor.obj.{succ u1, succ u1, u2, succ u1} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, succ u1} ℰ _inst_2 (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.ColimitAdj.restrictedYoneda.{u1, u2} C _inst_1 ℰ _inst_2 A)) E₁))) (Quiver.Hom.{succ u1, u2} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) ℰ _inst_2 (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) A) c) E₁) (fun (_x : Quiver.Hom.{succ u1, u2} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) ℰ _inst_2 (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) A) c) E₁) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : Quiver.Hom.{succ u1, u2} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) ℰ _inst_2 (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) A) c) E₁) => Quiver.Hom.{succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) P (Prefunctor.obj.{succ u1, succ u1, u2, succ u1} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, succ u1} ℰ _inst_2 (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.ColimitAdj.restrictedYoneda.{u1, u2} C _inst_1 ℰ _inst_2 A)) E₁)) _x) (Equiv.instFunLikeEquiv.{succ u1, succ u1} (Quiver.Hom.{succ u1, u2} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) ℰ _inst_2 (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) A) c) E₁) (Quiver.Hom.{succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) P (Prefunctor.obj.{succ u1, succ u1, u2, succ u1} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, succ u1} ℰ _inst_2 (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.ColimitAdj.restrictedYoneda.{u1, u2} C _inst_1 ℰ _inst_2 A)) E₁))) (CategoryTheory.ColimitAdj.restrictYonedaHomEquiv.{u1, u2} C _inst_1 ℰ _inst_2 A P E₁ c t) k) (Prefunctor.map.{succ u1, succ u1, u2, succ u1} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, succ u1} ℰ _inst_2 (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.ColimitAdj.restrictedYoneda.{u1, u2} C _inst_1 ℰ _inst_2 A)) E₁ E₂ g))
+ forall {C : Type.{u1}} [_inst_1 : CategoryTheory.SmallCategory.{u1} C] {ℰ : Type.{u2}} [_inst_2 : CategoryTheory.Category.{u1, u2} ℰ] (A : CategoryTheory.Functor.{u1, u1, u1, u2} C _inst_1 ℰ _inst_2) (P : CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (E₁ : ℰ) (E₂ : ℰ) (g : Quiver.Hom.{succ u1, u2} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) E₁ E₂) {c : CategoryTheory.Limits.Cocone.{u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) ℰ _inst_2 (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) A)} (t : CategoryTheory.Limits.IsColimit.{u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) ℰ _inst_2 (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) A) c) (k : Quiver.Hom.{succ u1, u2} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) ℰ _inst_2 (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) A) c) E₁), Eq.{succ u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : Quiver.Hom.{succ u1, u2} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) ℰ _inst_2 (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) A) c) E₂) => Quiver.Hom.{succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) P (Prefunctor.obj.{succ u1, succ u1, u2, succ u1} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, succ u1} ℰ _inst_2 (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.ColimitAdj.restrictedYoneda.{u1, u2} C _inst_1 ℰ _inst_2 A)) E₂)) (CategoryTheory.CategoryStruct.comp.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) ℰ _inst_2 (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) A) c) E₁ E₂ k g)) (FunLike.coe.{succ u1, succ u1, succ u1} (Equiv.{succ u1, succ u1} (Quiver.Hom.{succ u1, u2} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) ℰ _inst_2 (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) A) c) E₂) (Quiver.Hom.{succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) P (Prefunctor.obj.{succ u1, succ u1, u2, succ u1} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, succ u1} ℰ _inst_2 (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.ColimitAdj.restrictedYoneda.{u1, u2} C _inst_1 ℰ _inst_2 A)) E₂))) (Quiver.Hom.{succ u1, u2} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) ℰ _inst_2 (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) A) c) E₂) (fun (_x : Quiver.Hom.{succ u1, u2} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) ℰ _inst_2 (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) A) c) E₂) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : Quiver.Hom.{succ u1, u2} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) ℰ _inst_2 (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) A) c) E₂) => Quiver.Hom.{succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) P (Prefunctor.obj.{succ u1, succ u1, u2, succ u1} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, succ u1} ℰ _inst_2 (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.ColimitAdj.restrictedYoneda.{u1, u2} C _inst_1 ℰ _inst_2 A)) E₂)) _x) (Equiv.instFunLikeEquiv.{succ u1, succ u1} (Quiver.Hom.{succ u1, u2} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) ℰ _inst_2 (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) A) c) E₂) (Quiver.Hom.{succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) P (Prefunctor.obj.{succ u1, succ u1, u2, succ u1} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, succ u1} ℰ _inst_2 (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.ColimitAdj.restrictedYoneda.{u1, u2} C _inst_1 ℰ _inst_2 A)) E₂))) (CategoryTheory.ColimitAdj.restrictYonedaHomEquiv.{u1, u2} C _inst_1 ℰ _inst_2 A P E₂ c t) (CategoryTheory.CategoryStruct.comp.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) ℰ _inst_2 (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) A) c) E₁ E₂ k g)) (CategoryTheory.CategoryStruct.comp.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) P (Prefunctor.obj.{succ u1, succ u1, u2, succ u1} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, succ u1} ℰ _inst_2 (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.ColimitAdj.restrictedYoneda.{u1, u2} C _inst_1 ℰ _inst_2 A)) E₁) (Prefunctor.obj.{succ u1, succ u1, u2, succ u1} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, succ u1} ℰ _inst_2 (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.ColimitAdj.restrictedYoneda.{u1, u2} C _inst_1 ℰ _inst_2 A)) E₂) (FunLike.coe.{succ u1, succ u1, succ u1} (Equiv.{succ u1, succ u1} (Quiver.Hom.{succ u1, u2} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) ℰ _inst_2 (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) A) c) E₁) (Quiver.Hom.{succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) P (Prefunctor.obj.{succ u1, succ u1, u2, succ u1} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, succ u1} ℰ _inst_2 (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.ColimitAdj.restrictedYoneda.{u1, u2} C _inst_1 ℰ _inst_2 A)) E₁))) (Quiver.Hom.{succ u1, u2} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) ℰ _inst_2 (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) A) c) E₁) (fun (_x : Quiver.Hom.{succ u1, u2} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) ℰ _inst_2 (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) A) c) E₁) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : Quiver.Hom.{succ u1, u2} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) ℰ _inst_2 (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) A) c) E₁) => Quiver.Hom.{succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) P (Prefunctor.obj.{succ u1, succ u1, u2, succ u1} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, succ u1} ℰ _inst_2 (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.ColimitAdj.restrictedYoneda.{u1, u2} C _inst_1 ℰ _inst_2 A)) E₁)) _x) (Equiv.instFunLikeEquiv.{succ u1, succ u1} (Quiver.Hom.{succ u1, u2} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) ℰ _inst_2 (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) A) c) E₁) (Quiver.Hom.{succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) P (Prefunctor.obj.{succ u1, succ u1, u2, succ u1} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, succ u1} ℰ _inst_2 (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.ColimitAdj.restrictedYoneda.{u1, u2} C _inst_1 ℰ _inst_2 A)) E₁))) (CategoryTheory.ColimitAdj.restrictYonedaHomEquiv.{u1, u2} C _inst_1 ℰ _inst_2 A P E₁ c t) k) (Prefunctor.map.{succ u1, succ u1, u2, succ u1} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, succ u1} ℰ _inst_2 (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.ColimitAdj.restrictedYoneda.{u1, u2} C _inst_1 ℰ _inst_2 A)) E₁ E₂ g))
Case conversion may be inaccurate. Consider using '#align category_theory.colimit_adj.restrict_yoneda_hom_equiv_natural CategoryTheory.ColimitAdj.restrictYonedaHomEquiv_naturalₓ'. -/
/--
(Implementation). Show that the bijection in `restrict_yoneda_hom_equiv` is natural (on the right).
mathlib commit https://github.com/leanprover-community/mathlib/commit/0b9eaaa7686280fad8cce467f5c3c57ee6ce77f8
@@ -391,7 +391,7 @@ theorem coconeOfRepresentable_pt (P : Cᵒᵖ ⥤ Type u₁) : (coconeOfRepresen
lean 3 declaration is
forall {C : Type.{u1}} [_inst_1 : CategoryTheory.SmallCategory.{u1} C] (P : CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (j : Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)), Eq.{succ u1} (Quiver.Hom.{succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.functorToRepresentables.{u1} C _inst_1 P) j) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.obj.{u1, u1, succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.const.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.functorToRepresentables.{u1} C _inst_1 P) (CategoryTheory.coconeOfRepresentable.{u1} C _inst_1 P))) j)) (CategoryTheory.NatTrans.app.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.functorToRepresentables.{u1} C _inst_1 P) (CategoryTheory.Functor.obj.{u1, u1, succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.const.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.functorToRepresentables.{u1} C _inst_1 P) (CategoryTheory.coconeOfRepresentable.{u1} C _inst_1 P))) (CategoryTheory.Limits.Cocone.ι.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.functorToRepresentables.{u1} C _inst_1 P) (CategoryTheory.coconeOfRepresentable.{u1} C _inst_1 P)) j) (CategoryTheory.Iso.inv.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1} (Quiver.Hom.{succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.yoneda.{u1, u1} C _inst_1) (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) j)) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.obj.{u1, u1, succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.const.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.functorToRepresentables.{u1} C _inst_1 P) (CategoryTheory.coconeOfRepresentable.{u1} C _inst_1 P))) j)) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.obj.{u1, u1, succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.const.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.functorToRepresentables.{u1} C _inst_1 P) (CategoryTheory.coconeOfRepresentable.{u1} C _inst_1 P))) j) (Opposite.op.{succ u1} C (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) j))) (CategoryTheory.yonedaSectionsSmall.{u1} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) j) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.obj.{u1, u1, succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.const.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.functorToRepresentables.{u1} C _inst_1 P) (CategoryTheory.coconeOfRepresentable.{u1} C _inst_1 P))) j)) (Sigma.snd.{u1, u1} (Opposite.{succ u1} C) (fun (c : Opposite.{succ u1} C) => CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1} P c) (Opposite.unop.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) j)))
but is expected to have type
- forall {C : Type.{u1}} [_inst_1 : CategoryTheory.SmallCategory.{u1} C] (P : CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (j : Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)), Eq.{succ u1} (Quiver.Hom.{succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)))) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.functorToRepresentables.{u1} C _inst_1 P)) j) (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)))) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (Prefunctor.obj.{succ u1, succ u1, succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.const.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.functorToRepresentables.{u1} C _inst_1 P) (CategoryTheory.coconeOfRepresentable.{u1} C _inst_1 P)))) j)) (CategoryTheory.NatTrans.app.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.functorToRepresentables.{u1} C _inst_1 P) (Prefunctor.obj.{succ u1, succ u1, succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.const.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.functorToRepresentables.{u1} C _inst_1 P) (CategoryTheory.coconeOfRepresentable.{u1} C _inst_1 P))) (CategoryTheory.Limits.Cocone.ι.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.functorToRepresentables.{u1} C _inst_1 P) (CategoryTheory.coconeOfRepresentable.{u1} C _inst_1 P)) j) (CategoryTheory.Iso.inv.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1} (Quiver.Hom.{succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} C (CategoryTheory.Category.toCategoryStruct.{u1, u1} C _inst_1)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.yoneda.{u1, u1} C _inst_1)) (Opposite.unop.{succ u1} C (Sigma.fst.{u1, u1} (Opposite.{succ u1} C) (fun (c : Opposite.{succ u1} C) => Prefunctor.obj.{succ u1, succ u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1))) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1} P) c) (Opposite.unop.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) j)))) P) (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1))) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1} P) (Opposite.op.{succ u1} C (Opposite.unop.{succ u1} C (Sigma.fst.{u1, u1} (Opposite.{succ u1} C) (fun (c : Opposite.{succ u1} C) => Prefunctor.obj.{succ u1, succ u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1))) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1} P) c) (Opposite.unop.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) j))))) (CategoryTheory.yonedaSectionsSmall.{u1} C _inst_1 (Opposite.unop.{succ u1} C (Sigma.fst.{u1, u1} (Opposite.{succ u1} C) (fun (c : Opposite.{succ u1} C) => Prefunctor.obj.{succ u1, succ u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1))) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1} P) c) (Opposite.unop.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) j))) P) (Sigma.snd.{u1, u1} (Opposite.{succ u1} C) (fun (c : Opposite.{succ u1} C) => Prefunctor.obj.{succ u1, succ u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1))) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1} P) c) (Opposite.unop.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) j)))
+ forall {C : Type.{u1}} [_inst_1 : CategoryTheory.SmallCategory.{u1} C] (P : CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (j : Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)), Eq.{succ u1} (Quiver.Hom.{succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)))) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.functorToRepresentables.{u1} C _inst_1 P)) j) (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)))) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (Prefunctor.obj.{succ u1, succ u1, succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.const.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.functorToRepresentables.{u1} C _inst_1 P) (CategoryTheory.coconeOfRepresentable.{u1} C _inst_1 P)))) j)) (CategoryTheory.NatTrans.app.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.functorToRepresentables.{u1} C _inst_1 P) (Prefunctor.obj.{succ u1, succ u1, succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.const.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.functorToRepresentables.{u1} C _inst_1 P) (CategoryTheory.coconeOfRepresentable.{u1} C _inst_1 P))) (CategoryTheory.Limits.Cocone.ι.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.functorToRepresentables.{u1} C _inst_1 P) (CategoryTheory.coconeOfRepresentable.{u1} C _inst_1 P)) j) (CategoryTheory.Iso.inv.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1} (Quiver.Hom.{succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} C (CategoryTheory.Category.toCategoryStruct.{u1, u1} C _inst_1)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.yoneda.{u1, u1} C _inst_1)) (Opposite.unop.{succ u1} C ((Opposite.unop.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) j).0))) P) (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1))) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1} P) (Opposite.op.{succ u1} C (Opposite.unop.{succ u1} C ((Opposite.unop.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) j).0)))) (CategoryTheory.yonedaSectionsSmall.{u1} C _inst_1 (Opposite.unop.{succ u1} C ((Opposite.unop.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) j).0)) P) (Sigma.snd.{u1, u1} (Opposite.{succ u1} C) (fun (c : Opposite.{succ u1} C) => Prefunctor.obj.{succ u1, succ u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1))) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1} P) c) (Opposite.unop.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) j)))
Case conversion may be inaccurate. Consider using '#align category_theory.cocone_of_representable_ι_app CategoryTheory.coconeOfRepresentable_ι_appₓ'. -/
-- Marking this as a simp lemma seems to make things more awkward.
/-- An explicit formula for the legs of the cocone `cocone_of_representable`. -/
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: Bhavik Mehta
! This file was ported from Lean 3 source module category_theory.limits.presheaf
-! 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.
-/
@@ -19,6 +19,9 @@ import Mathbin.CategoryTheory.Limits.Types
/-!
# Colimit of representables
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
This file constructs an adjunction `yoneda_adjunction` between `(Cᵒᵖ ⥤ Type u)` and `ℰ` given a
functor `A : C ⥤ ℰ`, where the right adjoint sends `(E : ℰ)` to `c ↦ (A.obj c ⟶ E)` (provided `ℰ`
has colimits).
mathlib commit https://github.com/leanprover-community/mathlib/commit/52932b3a083d4142e78a15dc928084a22fea9ba0
@@ -58,6 +58,7 @@ variable (A : C ⥤ ℰ)
namespace ColimitAdj
+#print CategoryTheory.ColimitAdj.restrictedYoneda /-
/--
The functor taking `(E : ℰ) (c : Cᵒᵖ)` to the homset `(A.obj C ⟶ E)`. It is shown in `L_adjunction`
that this functor has a left adjoint (provided `E` has colimits) given by taking colimits over
@@ -70,7 +71,9 @@ Defined as in [MM92], Chapter I, Section 5, Theorem 2.
def restrictedYoneda : ℰ ⥤ Cᵒᵖ ⥤ Type u₁ :=
yoneda ⋙ (whiskeringLeft _ _ (Type u₁)).obj (Functor.op A)
#align category_theory.colimit_adj.restricted_yoneda CategoryTheory.ColimitAdj.restrictedYoneda
+-/
+#print CategoryTheory.ColimitAdj.restrictedYonedaYoneda /-
/--
The functor `restricted_yoneda` is isomorphic to the identity functor when evaluated at the yoneda
embedding.
@@ -86,7 +89,14 @@ def restrictedYonedaYoneda : restrictedYoneda (yoneda : C ⥤ Cᵒᵖ ⥤ Type u
simp)
fun _ _ _ => rfl
#align category_theory.colimit_adj.restricted_yoneda_yoneda CategoryTheory.ColimitAdj.restrictedYonedaYoneda
+-/
+/- warning: category_theory.colimit_adj.restrict_yoneda_hom_equiv -> CategoryTheory.ColimitAdj.restrictYonedaHomEquiv is a dubious translation:
+lean 3 declaration is
+ forall {C : Type.{u1}} [_inst_1 : CategoryTheory.SmallCategory.{u1} C] {ℰ : Type.{u2}} [_inst_2 : CategoryTheory.Category.{u1, u2} ℰ] (A : CategoryTheory.Functor.{u1, u1, u1, u2} C _inst_1 ℰ _inst_2) (P : CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (E : ℰ) {c : CategoryTheory.Limits.Cocone.{u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) ℰ _inst_2 (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) A)}, (CategoryTheory.Limits.IsColimit.{u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) ℰ _inst_2 (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) A) c) -> (Equiv.{succ u1, succ u1} (Quiver.Hom.{succ u1, u2} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) ℰ _inst_2 (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) A) c) E) (Quiver.Hom.{succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) P (CategoryTheory.Functor.obj.{u1, u1, u2, succ u1} ℰ _inst_2 (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.ColimitAdj.restrictedYoneda.{u1, u2} C _inst_1 ℰ _inst_2 A) E)))
+but is expected to have type
+ forall {C : Type.{u1}} [_inst_1 : CategoryTheory.SmallCategory.{u1} C] {ℰ : Type.{u2}} [_inst_2 : CategoryTheory.Category.{u1, u2} ℰ] (A : CategoryTheory.Functor.{u1, u1, u1, u2} C _inst_1 ℰ _inst_2) (P : CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (E : ℰ) {c : CategoryTheory.Limits.Cocone.{u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) ℰ _inst_2 (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) A)}, (CategoryTheory.Limits.IsColimit.{u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) ℰ _inst_2 (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) A) c) -> (Equiv.{succ u1, succ u1} (Quiver.Hom.{succ u1, u2} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) ℰ _inst_2 (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) A) c) E) (Quiver.Hom.{succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) P (Prefunctor.obj.{succ u1, succ u1, u2, succ u1} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, succ u1} ℰ _inst_2 (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.ColimitAdj.restrictedYoneda.{u1, u2} C _inst_1 ℰ _inst_2 A)) E)))
+Case conversion may be inaccurate. Consider using '#align category_theory.colimit_adj.restrict_yoneda_hom_equiv CategoryTheory.ColimitAdj.restrictYonedaHomEquivₓ'. -/
/-- (Implementation). The equivalence of homsets which helps construct the left adjoint to
`colimit_adj.restricted_yoneda`.
It is shown in `restrict_yoneda_hom_equiv_natural` that this is a natural bijection.
@@ -118,6 +128,12 @@ def restrictYonedaHomEquiv (P : Cᵒᵖ ⥤ Type u₁) (E : ℰ)
rfl }
#align category_theory.colimit_adj.restrict_yoneda_hom_equiv CategoryTheory.ColimitAdj.restrictYonedaHomEquiv
+/- warning: category_theory.colimit_adj.restrict_yoneda_hom_equiv_natural -> CategoryTheory.ColimitAdj.restrictYonedaHomEquiv_natural is a dubious translation:
+lean 3 declaration is
+ forall {C : Type.{u1}} [_inst_1 : CategoryTheory.SmallCategory.{u1} C] {ℰ : Type.{u2}} [_inst_2 : CategoryTheory.Category.{u1, u2} ℰ] (A : CategoryTheory.Functor.{u1, u1, u1, u2} C _inst_1 ℰ _inst_2) (P : CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (E₁ : ℰ) (E₂ : ℰ) (g : Quiver.Hom.{succ u1, u2} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) E₁ E₂) {c : CategoryTheory.Limits.Cocone.{u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) ℰ _inst_2 (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) A)} (t : CategoryTheory.Limits.IsColimit.{u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) ℰ _inst_2 (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) A) c) (k : Quiver.Hom.{succ u1, u2} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) ℰ _inst_2 (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) A) c) E₁), Eq.{succ u1} (Quiver.Hom.{succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) P (CategoryTheory.Functor.obj.{u1, u1, u2, succ u1} ℰ _inst_2 (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.ColimitAdj.restrictedYoneda.{u1, u2} C _inst_1 ℰ _inst_2 A) E₂)) (coeFn.{succ u1, succ u1} (Equiv.{succ u1, succ u1} (Quiver.Hom.{succ u1, u2} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) ℰ _inst_2 (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) A) c) E₂) (Quiver.Hom.{succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) P (CategoryTheory.Functor.obj.{u1, u1, u2, succ u1} ℰ _inst_2 (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.ColimitAdj.restrictedYoneda.{u1, u2} C _inst_1 ℰ _inst_2 A) E₂))) (fun (_x : Equiv.{succ u1, succ u1} (Quiver.Hom.{succ u1, u2} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) ℰ _inst_2 (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) A) c) E₂) (Quiver.Hom.{succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) P (CategoryTheory.Functor.obj.{u1, u1, u2, succ u1} ℰ _inst_2 (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.ColimitAdj.restrictedYoneda.{u1, u2} C _inst_1 ℰ _inst_2 A) E₂))) => (Quiver.Hom.{succ u1, u2} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) ℰ _inst_2 (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) A) c) E₂) -> (Quiver.Hom.{succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) P (CategoryTheory.Functor.obj.{u1, u1, u2, succ u1} ℰ _inst_2 (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.ColimitAdj.restrictedYoneda.{u1, u2} C _inst_1 ℰ _inst_2 A) E₂))) (Equiv.hasCoeToFun.{succ u1, succ u1} (Quiver.Hom.{succ u1, u2} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) ℰ _inst_2 (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) A) c) E₂) (Quiver.Hom.{succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) P (CategoryTheory.Functor.obj.{u1, u1, u2, succ u1} ℰ _inst_2 (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.ColimitAdj.restrictedYoneda.{u1, u2} C _inst_1 ℰ _inst_2 A) E₂))) (CategoryTheory.ColimitAdj.restrictYonedaHomEquiv.{u1, u2} C _inst_1 ℰ _inst_2 A P E₂ c t) (CategoryTheory.CategoryStruct.comp.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) ℰ _inst_2 (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) A) c) E₁ E₂ k g)) (CategoryTheory.CategoryStruct.comp.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) P (CategoryTheory.Functor.obj.{u1, u1, u2, succ u1} ℰ _inst_2 (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.ColimitAdj.restrictedYoneda.{u1, u2} C _inst_1 ℰ _inst_2 A) E₁) (CategoryTheory.Functor.obj.{u1, u1, u2, succ u1} ℰ _inst_2 (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.ColimitAdj.restrictedYoneda.{u1, u2} C _inst_1 ℰ _inst_2 A) E₂) (coeFn.{succ u1, succ u1} (Equiv.{succ u1, succ u1} (Quiver.Hom.{succ u1, u2} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) ℰ _inst_2 (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) A) c) E₁) (Quiver.Hom.{succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) P (CategoryTheory.Functor.obj.{u1, u1, u2, succ u1} ℰ _inst_2 (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.ColimitAdj.restrictedYoneda.{u1, u2} C _inst_1 ℰ _inst_2 A) E₁))) (fun (_x : Equiv.{succ u1, succ u1} (Quiver.Hom.{succ u1, u2} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) ℰ _inst_2 (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) A) c) E₁) (Quiver.Hom.{succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) P (CategoryTheory.Functor.obj.{u1, u1, u2, succ u1} ℰ _inst_2 (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.ColimitAdj.restrictedYoneda.{u1, u2} C _inst_1 ℰ _inst_2 A) E₁))) => (Quiver.Hom.{succ u1, u2} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) ℰ _inst_2 (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) A) c) E₁) -> (Quiver.Hom.{succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) P (CategoryTheory.Functor.obj.{u1, u1, u2, succ u1} ℰ _inst_2 (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.ColimitAdj.restrictedYoneda.{u1, u2} C _inst_1 ℰ _inst_2 A) E₁))) (Equiv.hasCoeToFun.{succ u1, succ u1} (Quiver.Hom.{succ u1, u2} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) ℰ _inst_2 (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) A) c) E₁) (Quiver.Hom.{succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) P (CategoryTheory.Functor.obj.{u1, u1, u2, succ u1} ℰ _inst_2 (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.ColimitAdj.restrictedYoneda.{u1, u2} C _inst_1 ℰ _inst_2 A) E₁))) (CategoryTheory.ColimitAdj.restrictYonedaHomEquiv.{u1, u2} C _inst_1 ℰ _inst_2 A P E₁ c t) k) (CategoryTheory.Functor.map.{u1, u1, u2, succ u1} ℰ _inst_2 (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.ColimitAdj.restrictedYoneda.{u1, u2} C _inst_1 ℰ _inst_2 A) E₁ E₂ g))
+but is expected to have type
+ forall {C : Type.{u1}} [_inst_1 : CategoryTheory.SmallCategory.{u1} C] {ℰ : Type.{u2}} [_inst_2 : CategoryTheory.Category.{u1, u2} ℰ] (A : CategoryTheory.Functor.{u1, u1, u1, u2} C _inst_1 ℰ _inst_2) (P : CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (E₁ : ℰ) (E₂ : ℰ) (g : Quiver.Hom.{succ u1, u2} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) E₁ E₂) {c : CategoryTheory.Limits.Cocone.{u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) ℰ _inst_2 (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) A)} (t : CategoryTheory.Limits.IsColimit.{u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) ℰ _inst_2 (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) A) c) (k : Quiver.Hom.{succ u1, u2} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) ℰ _inst_2 (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) A) c) E₁), Eq.{succ u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : Quiver.Hom.{succ u1, u2} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) ℰ _inst_2 (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) A) c) E₂) => Quiver.Hom.{succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) P (Prefunctor.obj.{succ u1, succ u1, u2, succ u1} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, succ u1} ℰ _inst_2 (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.ColimitAdj.restrictedYoneda.{u1, u2} C _inst_1 ℰ _inst_2 A)) E₂)) (CategoryTheory.CategoryStruct.comp.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) ℰ _inst_2 (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) A) c) E₁ E₂ k g)) (FunLike.coe.{succ u1, succ u1, succ u1} (Equiv.{succ u1, succ u1} (Quiver.Hom.{succ u1, u2} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) ℰ _inst_2 (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) A) c) E₂) (Quiver.Hom.{succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) P (Prefunctor.obj.{succ u1, succ u1, u2, succ u1} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, succ u1} ℰ _inst_2 (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.ColimitAdj.restrictedYoneda.{u1, u2} C _inst_1 ℰ _inst_2 A)) E₂))) (Quiver.Hom.{succ u1, u2} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) ℰ _inst_2 (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) A) c) E₂) (fun (_x : Quiver.Hom.{succ u1, u2} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) ℰ _inst_2 (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) A) c) E₂) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : Quiver.Hom.{succ u1, u2} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) ℰ _inst_2 (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) A) c) E₂) => Quiver.Hom.{succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) P (Prefunctor.obj.{succ u1, succ u1, u2, succ u1} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, succ u1} ℰ _inst_2 (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.ColimitAdj.restrictedYoneda.{u1, u2} C _inst_1 ℰ _inst_2 A)) E₂)) _x) (Equiv.instFunLikeEquiv.{succ u1, succ u1} (Quiver.Hom.{succ u1, u2} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) ℰ _inst_2 (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) A) c) E₂) (Quiver.Hom.{succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) P (Prefunctor.obj.{succ u1, succ u1, u2, succ u1} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, succ u1} ℰ _inst_2 (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.ColimitAdj.restrictedYoneda.{u1, u2} C _inst_1 ℰ _inst_2 A)) E₂))) (CategoryTheory.ColimitAdj.restrictYonedaHomEquiv.{u1, u2} C _inst_1 ℰ _inst_2 A P E₂ c t) (CategoryTheory.CategoryStruct.comp.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) ℰ _inst_2 (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) A) c) E₁ E₂ k g)) (CategoryTheory.CategoryStruct.comp.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) P (Prefunctor.obj.{succ u1, succ u1, u2, succ u1} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, succ u1} ℰ _inst_2 (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.ColimitAdj.restrictedYoneda.{u1, u2} C _inst_1 ℰ _inst_2 A)) E₁) (Prefunctor.obj.{succ u1, succ u1, u2, succ u1} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, succ u1} ℰ _inst_2 (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.ColimitAdj.restrictedYoneda.{u1, u2} C _inst_1 ℰ _inst_2 A)) E₂) (FunLike.coe.{succ u1, succ u1, succ u1} (Equiv.{succ u1, succ u1} (Quiver.Hom.{succ u1, u2} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) ℰ _inst_2 (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) A) c) E₁) (Quiver.Hom.{succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) P (Prefunctor.obj.{succ u1, succ u1, u2, succ u1} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, succ u1} ℰ _inst_2 (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.ColimitAdj.restrictedYoneda.{u1, u2} C _inst_1 ℰ _inst_2 A)) E₁))) (Quiver.Hom.{succ u1, u2} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) ℰ _inst_2 (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) A) c) E₁) (fun (_x : Quiver.Hom.{succ u1, u2} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) ℰ _inst_2 (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) A) c) E₁) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : Quiver.Hom.{succ u1, u2} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) ℰ _inst_2 (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) A) c) E₁) => Quiver.Hom.{succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) P (Prefunctor.obj.{succ u1, succ u1, u2, succ u1} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, succ u1} ℰ _inst_2 (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.ColimitAdj.restrictedYoneda.{u1, u2} C _inst_1 ℰ _inst_2 A)) E₁)) _x) (Equiv.instFunLikeEquiv.{succ u1, succ u1} (Quiver.Hom.{succ u1, u2} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) ℰ _inst_2 (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) A) c) E₁) (Quiver.Hom.{succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) P (Prefunctor.obj.{succ u1, succ u1, u2, succ u1} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, succ u1} ℰ _inst_2 (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.ColimitAdj.restrictedYoneda.{u1, u2} C _inst_1 ℰ _inst_2 A)) E₁))) (CategoryTheory.ColimitAdj.restrictYonedaHomEquiv.{u1, u2} C _inst_1 ℰ _inst_2 A P E₁ c t) k) (Prefunctor.map.{succ u1, succ u1, u2, succ u1} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, succ u1} ℰ _inst_2 (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.ColimitAdj.restrictedYoneda.{u1, u2} C _inst_1 ℰ _inst_2 A)) E₁ E₂ g))
+Case conversion may be inaccurate. Consider using '#align category_theory.colimit_adj.restrict_yoneda_hom_equiv_natural CategoryTheory.ColimitAdj.restrictYonedaHomEquiv_naturalₓ'. -/
/--
(Implementation). Show that the bijection in `restrict_yoneda_hom_equiv` is natural (on the right).
-/
@@ -132,6 +148,7 @@ theorem restrictYonedaHomEquiv_natural (P : Cᵒᵖ ⥤ Type u₁) (E₁ E₂ :
variable [HasColimits ℰ]
+#print CategoryTheory.ColimitAdj.extendAlongYoneda /-
/--
The left adjoint to the functor `restricted_yoneda` (shown in `yoneda_adjunction`). It is also an
extension of `A` along the yoneda embedding (shown in `is_extension_along_yoneda`), in particular
@@ -141,13 +158,26 @@ def extendAlongYoneda : (Cᵒᵖ ⥤ Type u₁) ⥤ ℰ :=
Adjunction.leftAdjointOfEquiv (fun P E => restrictYonedaHomEquiv A P E (colimit.isColimit _))
fun P E E' g => restrictYonedaHomEquiv_natural A P E E' g _
#align category_theory.colimit_adj.extend_along_yoneda CategoryTheory.ColimitAdj.extendAlongYoneda
+-/
+/- warning: category_theory.colimit_adj.extend_along_yoneda_obj -> CategoryTheory.ColimitAdj.extendAlongYoneda_obj is a dubious translation:
+lean 3 declaration is
+ forall {C : Type.{u1}} [_inst_1 : CategoryTheory.SmallCategory.{u1} C] {ℰ : Type.{u2}} [_inst_2 : CategoryTheory.Category.{u1, u2} ℰ] (A : CategoryTheory.Functor.{u1, u1, u1, u2} C _inst_1 ℰ _inst_2) [_inst_3 : CategoryTheory.Limits.HasColimits.{u1, u2} ℰ _inst_2] (P : CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}), Eq.{succ u2} ℰ (CategoryTheory.Functor.obj.{u1, u1, succ u1, u2} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) ℰ _inst_2 (CategoryTheory.ColimitAdj.extendAlongYoneda.{u1, u2} C _inst_1 ℰ _inst_2 A _inst_3) P) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) ℰ _inst_2 (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) A) (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u1, u1, u2} ℰ _inst_2 (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Limits.hasColimitsOfShapeOfHasColimitsOfSize.{u1, u1, u1, u2} ℰ _inst_2 (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) _inst_3) (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) A)))
+but is expected to have type
+ forall {C : Type.{u1}} [_inst_1 : CategoryTheory.SmallCategory.{u1} C] {ℰ : Type.{u2}} [_inst_2 : CategoryTheory.Category.{u1, u2} ℰ] (A : CategoryTheory.Functor.{u1, u1, u1, u2} C _inst_1 ℰ _inst_2) [_inst_3 : CategoryTheory.Limits.HasColimits.{u1, u2} ℰ _inst_2] (P : CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}), Eq.{succ u2} ℰ (Prefunctor.obj.{succ u1, succ u1, succ u1, u2} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, u2} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) ℰ _inst_2 (CategoryTheory.ColimitAdj.extendAlongYoneda.{u1, u2} C _inst_1 ℰ _inst_2 A _inst_3)) P) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) ℰ _inst_2 (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) A) (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u1, u1, u2} ℰ _inst_2 (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Limits.hasColimitsOfShapeOfHasColimitsOfSize.{u1, u1, u1, u2} ℰ _inst_2 (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) _inst_3) (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) A)))
+Case conversion may be inaccurate. Consider using '#align category_theory.colimit_adj.extend_along_yoneda_obj CategoryTheory.ColimitAdj.extendAlongYoneda_objₓ'. -/
@[simp]
theorem extendAlongYoneda_obj (P : Cᵒᵖ ⥤ Type u₁) :
(extendAlongYoneda A).obj P = colimit ((CategoryOfElements.π P).leftOp ⋙ A) :=
rfl
#align category_theory.colimit_adj.extend_along_yoneda_obj CategoryTheory.ColimitAdj.extendAlongYoneda_obj
+/- warning: category_theory.colimit_adj.extend_along_yoneda_map -> CategoryTheory.ColimitAdj.extendAlongYoneda_map is a dubious translation:
+lean 3 declaration is
+ forall {C : Type.{u1}} [_inst_1 : CategoryTheory.SmallCategory.{u1} C] {ℰ : Type.{u2}} [_inst_2 : CategoryTheory.Category.{u1, u2} ℰ] (A : CategoryTheory.Functor.{u1, u1, u1, u2} C _inst_1 ℰ _inst_2) [_inst_3 : CategoryTheory.Limits.HasColimits.{u1, u2} ℰ _inst_2] {X : CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}} {Y : CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}} (f : Quiver.Hom.{succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) X Y), Eq.{succ u1} (Quiver.Hom.{succ u1, u2} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, succ u1, u2} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) ℰ _inst_2 (CategoryTheory.ColimitAdj.extendAlongYoneda.{u1, u2} C _inst_1 ℰ _inst_2 A _inst_3) X) (CategoryTheory.Functor.obj.{u1, u1, succ u1, u2} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) ℰ _inst_2 (CategoryTheory.ColimitAdj.extendAlongYoneda.{u1, u2} C _inst_1 ℰ _inst_2 A _inst_3) Y)) (CategoryTheory.Functor.map.{u1, u1, succ u1, u2} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) ℰ _inst_2 (CategoryTheory.ColimitAdj.extendAlongYoneda.{u1, u2} C _inst_1 ℰ _inst_2 A _inst_3) X Y f) (CategoryTheory.Limits.colimit.pre.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Y)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Y) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Y)) (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) X)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) X) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) X)) ℰ _inst_2 (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Y)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Y) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Y)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Y) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Y) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Y)) A) (CategoryTheory.ColimitAdj.extendAlongYoneda._proof_1.{u1, u2} C _inst_1 ℰ _inst_2 A _inst_3 Y) (CategoryTheory.Functor.op.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) X) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) X) (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Y) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Y) (CategoryTheory.CategoryOfElements.map.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) X Y f)) (CategoryTheory.ColimitAdj.extendAlongYoneda._proof_1.{u1, u2} C _inst_1 ℰ _inst_2 A _inst_3 X))
+but is expected to have type
+ forall {C : Type.{u1}} [_inst_1 : CategoryTheory.SmallCategory.{u1} C] {ℰ : Type.{u2}} [_inst_2 : CategoryTheory.Category.{u1, u2} ℰ] (A : CategoryTheory.Functor.{u1, u1, u1, u2} C _inst_1 ℰ _inst_2) [_inst_3 : CategoryTheory.Limits.HasColimits.{u1, u2} ℰ _inst_2] {X : CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}} {Y : CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}} (f : Quiver.Hom.{succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) X Y), Eq.{succ u1} (Quiver.Hom.{succ u1, u2} ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (Prefunctor.obj.{succ u1, succ u1, succ u1, u2} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, u2} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) ℰ _inst_2 (CategoryTheory.ColimitAdj.extendAlongYoneda.{u1, u2} C _inst_1 ℰ _inst_2 A _inst_3)) X) (Prefunctor.obj.{succ u1, succ u1, succ u1, u2} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, u2} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) ℰ _inst_2 (CategoryTheory.ColimitAdj.extendAlongYoneda.{u1, u2} C _inst_1 ℰ _inst_2 A _inst_3)) Y)) (Prefunctor.map.{succ u1, succ u1, succ u1, u2} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, u2} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) ℰ _inst_2 (CategoryTheory.ColimitAdj.extendAlongYoneda.{u1, u2} C _inst_1 ℰ _inst_2 A _inst_3)) X Y f) (CategoryTheory.Limits.colimit.pre.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Y)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Y) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Y)) (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) X)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) X) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) X)) ℰ _inst_2 (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Y)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Y) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Y)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Y) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Y) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Y)) A) (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u1, u1, u2} ℰ _inst_2 (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Y)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Y) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Y)) (CategoryTheory.Limits.hasColimitsOfShapeOfHasColimitsOfSize.{u1, u1, u1, u2} ℰ _inst_2 (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Y)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Y) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Y)) _inst_3) (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Y)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Y) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Y)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Y) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Y) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Y)) A)) (CategoryTheory.Functor.op.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) X) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) X) (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Y) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Y) (CategoryTheory.CategoryOfElements.map.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) X Y f)) (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u1, u1, u2} ℰ _inst_2 (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) X)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) X) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) X)) (CategoryTheory.Limits.hasColimitsOfShapeOfHasColimitsOfSize.{u1, u1, u1, u2} ℰ _inst_2 (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) X)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) X) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) X)) _inst_3) (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) X)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) X) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) X)) (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Y)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Y) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Y)) ℰ _inst_2 (CategoryTheory.Functor.op.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) X) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) X) (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Y) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Y) (CategoryTheory.CategoryOfElements.map.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) X Y f)) (CategoryTheory.Functor.comp.{u1, u1, u1, u1, u1, u2} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Y)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Y) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Y)) C _inst_1 ℰ _inst_2 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Y) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Y) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Y)) A))))
+Case conversion may be inaccurate. Consider using '#align category_theory.colimit_adj.extend_along_yoneda_map CategoryTheory.ColimitAdj.extendAlongYoneda_mapₓ'. -/
theorem extendAlongYoneda_map {X Y : Cᵒᵖ ⥤ Type u₁} (f : X ⟶ Y) :
(extendAlongYoneda A).map f =
colimit.pre ((CategoryOfElements.π Y).leftOp ⋙ A) (CategoryOfElements.map f).op :=
@@ -159,6 +189,7 @@ theorem extendAlongYoneda_map {X Y : Cᵒᵖ ⥤ Type u₁} (f : X ⟶ Y) :
simpa
#align category_theory.colimit_adj.extend_along_yoneda_map CategoryTheory.ColimitAdj.extendAlongYoneda_map
+#print CategoryTheory.ColimitAdj.yonedaAdjunction /-
/-- Show `extend_along_yoneda` is left adjoint to `restricted_yoneda`.
The construction of [MM92], Chapter I, Section 5, Theorem 2.
@@ -166,7 +197,14 @@ The construction of [MM92], Chapter I, Section 5, Theorem 2.
def yonedaAdjunction : extendAlongYoneda A ⊣ restrictedYoneda A :=
Adjunction.adjunctionOfEquivLeft _ _
#align category_theory.colimit_adj.yoneda_adjunction CategoryTheory.ColimitAdj.yonedaAdjunction
+-/
+/- warning: category_theory.colimit_adj.elements.initial -> CategoryTheory.ColimitAdj.Elements.initial is a dubious translation:
+lean 3 declaration is
+ forall {C : Type.{u1}} [_inst_1 : CategoryTheory.SmallCategory.{u1} C] (A : C), CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.yoneda.{u1, u1} C _inst_1) A)
+but is expected to have type
+ forall {C : Type.{u1}} [_inst_1 : CategoryTheory.SmallCategory.{u1} C] (A : C), CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} C (CategoryTheory.Category.toCategoryStruct.{u1, u1} C _inst_1)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.yoneda.{u1, u1} C _inst_1)) A)
+Case conversion may be inaccurate. Consider using '#align category_theory.colimit_adj.elements.initial CategoryTheory.ColimitAdj.Elements.initialₓ'. -/
/--
The initial object in the category of elements for a representable functor. In `is_initial` it is
shown that this is initial.
@@ -175,6 +213,12 @@ def Elements.initial (A : C) : (yoneda.obj A).Elements :=
⟨Opposite.op A, 𝟙 _⟩
#align category_theory.colimit_adj.elements.initial CategoryTheory.ColimitAdj.Elements.initial
+/- warning: category_theory.colimit_adj.is_initial -> CategoryTheory.ColimitAdj.isInitial is a dubious translation:
+lean 3 declaration is
+ forall {C : Type.{u1}} [_inst_1 : CategoryTheory.SmallCategory.{u1} C] (A : C), CategoryTheory.Limits.IsInitial.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.yoneda.{u1, u1} C _inst_1) A)) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.yoneda.{u1, u1} C _inst_1) A)) (CategoryTheory.ColimitAdj.Elements.initial.{u1} C _inst_1 A)
+but is expected to have type
+ forall {C : Type.{u1}} [_inst_1 : CategoryTheory.SmallCategory.{u1} C] (A : C), CategoryTheory.Limits.IsInitial.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} C (CategoryTheory.Category.toCategoryStruct.{u1, u1} C _inst_1)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.yoneda.{u1, u1} C _inst_1)) A)) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} C (CategoryTheory.Category.toCategoryStruct.{u1, u1} C _inst_1)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.yoneda.{u1, u1} C _inst_1)) A)) (CategoryTheory.ColimitAdj.Elements.initial.{u1} C _inst_1 A)
+Case conversion may be inaccurate. Consider using '#align category_theory.colimit_adj.is_initial CategoryTheory.ColimitAdj.isInitialₓ'. -/
/-- Show that `elements.initial A` is initial in the category of elements for the `yoneda` functor.
-/
def isInitial (A : C) : IsInitial (Elements.initial A)
@@ -187,6 +231,7 @@ def isInitial (A : C) : IsInitial (Elements.initial A)
fac := by rintro s ⟨⟨⟩⟩
#align category_theory.colimit_adj.is_initial CategoryTheory.ColimitAdj.isInitial
+#print CategoryTheory.ColimitAdj.isExtensionAlongYoneda /-
/--
`extend_along_yoneda A` is an extension of `A` to the presheaf category along the yoneda embedding.
`unique_extension_along_yoneda` shows it is unique among functors preserving colimits with this
@@ -212,11 +257,18 @@ def isExtensionAlongYoneda : (yoneda : C ⥤ Cᵒᵖ ⥤ Type u₁) ⋙ extendAl
rw [← A.map_comp]
congr 1)
#align category_theory.colimit_adj.is_extension_along_yoneda CategoryTheory.ColimitAdj.isExtensionAlongYoneda
+-/
/-- See Property 2 of https://ncatlab.org/nlab/show/Yoneda+extension#properties. -/
instance : PreservesColimits (extendAlongYoneda A) :=
(yonedaAdjunction A).leftAdjointPreservesColimits
+/- warning: category_theory.colimit_adj.extend_along_yoneda_iso_Kan_app -> CategoryTheory.ColimitAdj.extendAlongYonedaIsoKanApp is a dubious translation:
+lean 3 declaration is
+ forall {C : Type.{u1}} [_inst_1 : CategoryTheory.SmallCategory.{u1} C] {ℰ : Type.{u2}} [_inst_2 : CategoryTheory.Category.{u1, u2} ℰ] (A : CategoryTheory.Functor.{u1, u1, u1, u2} C _inst_1 ℰ _inst_2) [_inst_3 : CategoryTheory.Limits.HasColimits.{u1, u2} ℰ _inst_2] (X : CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}), CategoryTheory.Iso.{u1, u2} ℰ _inst_2 (CategoryTheory.Functor.obj.{u1, u1, succ u1, u2} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) ℰ _inst_2 (CategoryTheory.ColimitAdj.extendAlongYoneda.{u1, u2} C _inst_1 ℰ _inst_2 A _inst_3) X) (CategoryTheory.Functor.obj.{u1, u1, succ u1, u2} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) ℰ _inst_2 (CategoryTheory.Functor.obj.{u1, succ u1, max u1 u2, max u1 (succ u1) u2} (CategoryTheory.Functor.{u1, u1, u1, u2} C _inst_1 ℰ _inst_2) (CategoryTheory.Functor.category.{u1, u1, u1, u2} C _inst_1 ℰ _inst_2) (CategoryTheory.Functor.{u1, u1, succ u1, u2} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) ℰ _inst_2) (CategoryTheory.Functor.category.{u1, u1, succ u1, u2} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) ℰ _inst_2) (CategoryTheory.lan.{u1, u1, u1, u1, succ u1, u2} C (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) ℰ _inst_1 (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) _inst_2 (CategoryTheory.yoneda.{u1, u1} C _inst_1) (CategoryTheory.ColimitAdj.extendAlongYonedaIsoKanApp._proof_1.{u1, u2} C _inst_1 ℰ _inst_2 _inst_3)) A) X)
+but is expected to have type
+ forall {C : Type.{u1}} [_inst_1 : CategoryTheory.SmallCategory.{u1} C] {ℰ : Type.{u2}} [_inst_2 : CategoryTheory.Category.{u1, u2} ℰ] (A : CategoryTheory.Functor.{u1, u1, u1, u2} C _inst_1 ℰ _inst_2) [_inst_3 : CategoryTheory.Limits.HasColimits.{u1, u2} ℰ _inst_2] (X : CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}), CategoryTheory.Iso.{u1, u2} ℰ _inst_2 (Prefunctor.obj.{succ u1, succ u1, succ u1, u2} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, u2} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) ℰ _inst_2 (CategoryTheory.ColimitAdj.extendAlongYoneda.{u1, u2} C _inst_1 ℰ _inst_2 A _inst_3)) X) (Prefunctor.obj.{succ u1, succ u1, succ u1, u2} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) ℰ (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} ℰ (CategoryTheory.Category.toCategoryStruct.{u1, u2} ℰ _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, u2} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) ℰ _inst_2 (Prefunctor.obj.{succ u1, succ (succ u1), max u1 u2, max (max u1 u2) (succ u1)} (CategoryTheory.Functor.{u1, u1, u1, u2} C _inst_1 ℰ _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} C _inst_1 ℰ _inst_2) (CategoryTheory.Category.toCategoryStruct.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} C _inst_1 ℰ _inst_2) (CategoryTheory.Functor.category.{u1, u1, u1, u2} C _inst_1 ℰ _inst_2))) (CategoryTheory.Functor.{u1, u1, succ u1, u2} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) ℰ _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{succ u1, max (max u1 u2) (succ u1)} (CategoryTheory.Functor.{u1, u1, succ u1, u2} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) ℰ _inst_2) (CategoryTheory.Category.toCategoryStruct.{succ u1, max (max u1 u2) (succ u1)} (CategoryTheory.Functor.{u1, u1, succ u1, u2} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) ℰ _inst_2) (CategoryTheory.Functor.category.{u1, u1, succ u1, u2} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) ℰ _inst_2))) (CategoryTheory.Functor.toPrefunctor.{u1, succ u1, max u1 u2, max (max u1 u2) (succ u1)} (CategoryTheory.Functor.{u1, u1, u1, u2} C _inst_1 ℰ _inst_2) (CategoryTheory.Functor.category.{u1, u1, u1, u2} C _inst_1 ℰ _inst_2) (CategoryTheory.Functor.{u1, u1, succ u1, u2} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) ℰ _inst_2) (CategoryTheory.Functor.category.{u1, u1, succ u1, u2} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) ℰ _inst_2) (CategoryTheory.lan.{u1, u1, u1, u1, succ u1, u2} C (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) ℰ _inst_1 (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) _inst_2 (CategoryTheory.yoneda.{u1, u1} C _inst_1) (fun (X : CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) => CategoryTheory.Limits.hasColimitsOfShapeOfHasColimitsOfSize.{u1, u1, u1, u2} ℰ _inst_2 (CategoryTheory.CostructuredArrow.{u1, u1, u1, succ u1} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.yoneda.{u1, u1} C _inst_1) X) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u1, succ u1} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.yoneda.{u1, u1} C _inst_1) X) _inst_3))) A)) X)
+Case conversion may be inaccurate. Consider using '#align category_theory.colimit_adj.extend_along_yoneda_iso_Kan_app CategoryTheory.ColimitAdj.extendAlongYonedaIsoKanAppₓ'. -/
/-- Show that the images of `X` after `extend_along_yoneda` and `Lan yoneda` are indeed isomorphic.
This follows from `category_theory.category_of_elements.costructured_arrow_yoneda_equivalence`.
-/
@@ -248,6 +300,12 @@ def extendAlongYonedaIsoKanApp (X) :
congr }
#align category_theory.colimit_adj.extend_along_yoneda_iso_Kan_app CategoryTheory.ColimitAdj.extendAlongYonedaIsoKanApp
+/- warning: category_theory.colimit_adj.extend_along_yoneda_iso_Kan -> CategoryTheory.ColimitAdj.extendAlongYonedaIsoKan is a dubious translation:
+lean 3 declaration is
+ forall {C : Type.{u1}} [_inst_1 : CategoryTheory.SmallCategory.{u1} C] {ℰ : Type.{u2}} [_inst_2 : CategoryTheory.Category.{u1, u2} ℰ] (A : CategoryTheory.Functor.{u1, u1, u1, u2} C _inst_1 ℰ _inst_2) [_inst_3 : CategoryTheory.Limits.HasColimits.{u1, u2} ℰ _inst_2], CategoryTheory.Iso.{succ u1, max u1 (succ u1) u2} (CategoryTheory.Functor.{u1, u1, succ u1, u2} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) ℰ _inst_2) (CategoryTheory.Functor.category.{u1, u1, succ u1, u2} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) ℰ _inst_2) (CategoryTheory.ColimitAdj.extendAlongYoneda.{u1, u2} C _inst_1 ℰ _inst_2 A _inst_3) (CategoryTheory.Functor.obj.{u1, succ u1, max u1 u2, max u1 (succ u1) u2} (CategoryTheory.Functor.{u1, u1, u1, u2} C _inst_1 ℰ _inst_2) (CategoryTheory.Functor.category.{u1, u1, u1, u2} C _inst_1 ℰ _inst_2) (CategoryTheory.Functor.{u1, u1, succ u1, u2} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) ℰ _inst_2) (CategoryTheory.Functor.category.{u1, u1, succ u1, u2} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) ℰ _inst_2) (CategoryTheory.lan.{u1, u1, u1, u1, succ u1, u2} C (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) ℰ _inst_1 (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) _inst_2 (CategoryTheory.yoneda.{u1, u1} C _inst_1) (CategoryTheory.ColimitAdj.extendAlongYonedaIsoKanApp._proof_1.{u1, u2} C _inst_1 ℰ _inst_2 _inst_3)) A)
+but is expected to have type
+ forall {C : Type.{u1}} [_inst_1 : CategoryTheory.SmallCategory.{u1} C] {ℰ : Type.{u2}} [_inst_2 : CategoryTheory.Category.{u1, u2} ℰ] (A : CategoryTheory.Functor.{u1, u1, u1, u2} C _inst_1 ℰ _inst_2) [_inst_3 : CategoryTheory.Limits.HasColimits.{u1, u2} ℰ _inst_2], CategoryTheory.Iso.{succ u1, max u2 (succ u1)} (CategoryTheory.Functor.{u1, u1, succ u1, u2} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) ℰ _inst_2) (CategoryTheory.Functor.category.{u1, u1, succ u1, u2} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) ℰ _inst_2) (CategoryTheory.ColimitAdj.extendAlongYoneda.{u1, u2} C _inst_1 ℰ _inst_2 A _inst_3) (Prefunctor.obj.{succ u1, succ (succ u1), max u1 u2, max (max u1 u2) (succ u1)} (CategoryTheory.Functor.{u1, u1, u1, u2} C _inst_1 ℰ _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} C _inst_1 ℰ _inst_2) (CategoryTheory.Category.toCategoryStruct.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} C _inst_1 ℰ _inst_2) (CategoryTheory.Functor.category.{u1, u1, u1, u2} C _inst_1 ℰ _inst_2))) (CategoryTheory.Functor.{u1, u1, succ u1, u2} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) ℰ _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{succ u1, max (max u1 u2) (succ u1)} (CategoryTheory.Functor.{u1, u1, succ u1, u2} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) ℰ _inst_2) (CategoryTheory.Category.toCategoryStruct.{succ u1, max (max u1 u2) (succ u1)} (CategoryTheory.Functor.{u1, u1, succ u1, u2} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) ℰ _inst_2) (CategoryTheory.Functor.category.{u1, u1, succ u1, u2} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) ℰ _inst_2))) (CategoryTheory.Functor.toPrefunctor.{u1, succ u1, max u1 u2, max (max u1 u2) (succ u1)} (CategoryTheory.Functor.{u1, u1, u1, u2} C _inst_1 ℰ _inst_2) (CategoryTheory.Functor.category.{u1, u1, u1, u2} C _inst_1 ℰ _inst_2) (CategoryTheory.Functor.{u1, u1, succ u1, u2} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) ℰ _inst_2) (CategoryTheory.Functor.category.{u1, u1, succ u1, u2} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) ℰ _inst_2) (CategoryTheory.lan.{u1, u1, u1, u1, succ u1, u2} C (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) ℰ _inst_1 (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) _inst_2 (CategoryTheory.yoneda.{u1, u1} C _inst_1) (fun (X : CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) => CategoryTheory.Limits.hasColimitsOfShapeOfHasColimitsOfSize.{u1, u1, u1, u2} ℰ _inst_2 (CategoryTheory.CostructuredArrow.{u1, u1, u1, succ u1} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.yoneda.{u1, u1} C _inst_1) X) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u1, succ u1} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.yoneda.{u1, u1} C _inst_1) X) _inst_3))) A)
+Case conversion may be inaccurate. Consider using '#align category_theory.colimit_adj.extend_along_yoneda_iso_Kan CategoryTheory.ColimitAdj.extendAlongYonedaIsoKanₓ'. -/
/-- Verify that `extend_along_yoneda` is indeed the left Kan extension along the yoneda embedding.
-/
@[simps]
@@ -263,6 +321,7 @@ def extendAlongYonedaIsoKan : extendAlongYoneda A ≅ (lan yoneda : (_ ⥤ ℰ)
apply category_of_elements.costructured_arrow_yoneda_equivalence_naturality)
#align category_theory.colimit_adj.extend_along_yoneda_iso_Kan CategoryTheory.ColimitAdj.extendAlongYonedaIsoKan
+#print CategoryTheory.ColimitAdj.extendOfCompYonedaIsoLan /-
/-- extending `F ⋙ yoneda` along the yoneda embedding is isomorphic to `Lan F.op`. -/
@[simps]
def extendOfCompYonedaIsoLan {D : Type u₁} [SmallCategory D] (F : C ⥤ D) :
@@ -271,25 +330,31 @@ def extendOfCompYonedaIsoLan {D : Type u₁} [SmallCategory D] (F : C ⥤ D) :
(Lan.adjunction (Type u₁) F.op)
(isoWhiskerRight curriedYonedaLemma' ((whiskeringLeft Cᵒᵖ Dᵒᵖ (Type u₁)).obj F.op : _))
#align category_theory.colimit_adj.extend_of_comp_yoneda_iso_Lan CategoryTheory.ColimitAdj.extendOfCompYonedaIsoLan
+-/
end ColimitAdj
open ColimitAdj
+#print CategoryTheory.compYonedaIsoYonedaCompLan /-
/-- `F ⋙ yoneda` is naturally isomorphic to `yoneda ⋙ Lan F.op`. -/
@[simps]
def compYonedaIsoYonedaCompLan {D : Type u₁} [SmallCategory D] (F : C ⥤ D) :
F ⋙ yoneda ≅ yoneda ⋙ lan F.op :=
(isExtensionAlongYoneda (F ⋙ yoneda)).symm ≪≫ isoWhiskerLeft yoneda (extendOfCompYonedaIsoLan F)
#align category_theory.comp_yoneda_iso_yoneda_comp_Lan CategoryTheory.compYonedaIsoYonedaCompLan
+-/
+#print CategoryTheory.extendAlongYonedaYoneda /-
/-- Since `extend_along_yoneda A` is adjoint to `restricted_yoneda A`, if we use `A = yoneda`
then `restricted_yoneda A` is isomorphic to the identity, and so `extend_along_yoneda A` is as well.
-/
def extendAlongYonedaYoneda : extendAlongYoneda (yoneda : C ⥤ _) ≅ 𝟭 _ :=
Adjunction.natIsoOfRightAdjointNatIso (yonedaAdjunction _) Adjunction.id restrictedYonedaYoneda
#align category_theory.extend_along_yoneda_yoneda CategoryTheory.extendAlongYonedaYoneda
+-/
+#print CategoryTheory.functorToRepresentables /-
-- Maybe this should be reducible or an abbreviation?
/-- A functor to the presheaf category in which everything in the image is representable (witnessed
by the fact that it factors through the yoneda embedding).
@@ -298,7 +363,9 @@ by the fact that it factors through the yoneda embedding).
def functorToRepresentables (P : Cᵒᵖ ⥤ Type u₁) : P.Elementsᵒᵖ ⥤ Cᵒᵖ ⥤ Type u₁ :=
(CategoryOfElements.π P).leftOp ⋙ yoneda
#align category_theory.functor_to_representables CategoryTheory.functorToRepresentables
+-/
+#print CategoryTheory.coconeOfRepresentable /-
/-- This is a cocone with point `P` for the functor `functor_to_representables P`. It is shown in
`colimit_of_representable P` that this cocone is a colimit: that is, we have exhibited an arbitrary
presheaf `P` as a colimit of representables.
@@ -308,12 +375,21 @@ The construction of [MM92], Chapter I, Section 5, Corollary 3.
def coconeOfRepresentable (P : Cᵒᵖ ⥤ Type u₁) : Cocone (functorToRepresentables P) :=
Cocone.extend (colimit.cocone _) (extendAlongYonedaYoneda.Hom.app P)
#align category_theory.cocone_of_representable CategoryTheory.coconeOfRepresentable
+-/
+#print CategoryTheory.coconeOfRepresentable_pt /-
@[simp]
theorem coconeOfRepresentable_pt (P : Cᵒᵖ ⥤ Type u₁) : (coconeOfRepresentable P).pt = P :=
rfl
#align category_theory.cocone_of_representable_X CategoryTheory.coconeOfRepresentable_pt
+-/
+/- warning: category_theory.cocone_of_representable_ι_app -> CategoryTheory.coconeOfRepresentable_ι_app is a dubious translation:
+lean 3 declaration is
+ forall {C : Type.{u1}} [_inst_1 : CategoryTheory.SmallCategory.{u1} C] (P : CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (j : Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)), Eq.{succ u1} (Quiver.Hom.{succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.functorToRepresentables.{u1} C _inst_1 P) j) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.obj.{u1, u1, succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.const.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.functorToRepresentables.{u1} C _inst_1 P) (CategoryTheory.coconeOfRepresentable.{u1} C _inst_1 P))) j)) (CategoryTheory.NatTrans.app.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.functorToRepresentables.{u1} C _inst_1 P) (CategoryTheory.Functor.obj.{u1, u1, succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.const.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.functorToRepresentables.{u1} C _inst_1 P) (CategoryTheory.coconeOfRepresentable.{u1} C _inst_1 P))) (CategoryTheory.Limits.Cocone.ι.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.functorToRepresentables.{u1} C _inst_1 P) (CategoryTheory.coconeOfRepresentable.{u1} C _inst_1 P)) j) (CategoryTheory.Iso.inv.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1} (Quiver.Hom.{succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.yoneda.{u1, u1} C _inst_1) (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) j)) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.obj.{u1, u1, succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.const.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.functorToRepresentables.{u1} C _inst_1 P) (CategoryTheory.coconeOfRepresentable.{u1} C _inst_1 P))) j)) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.obj.{u1, u1, succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.const.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.functorToRepresentables.{u1} C _inst_1 P) (CategoryTheory.coconeOfRepresentable.{u1} C _inst_1 P))) j) (Opposite.op.{succ u1} C (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) j))) (CategoryTheory.yonedaSectionsSmall.{u1} C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) C _inst_1 (CategoryTheory.Functor.leftOp.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) C _inst_1 (CategoryTheory.CategoryOfElements.π.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) j) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.obj.{u1, u1, succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.const.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.functorToRepresentables.{u1} C _inst_1 P) (CategoryTheory.coconeOfRepresentable.{u1} C _inst_1 P))) j)) (Sigma.snd.{u1, u1} (Opposite.{succ u1} C) (fun (c : Opposite.{succ u1} C) => CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1} P c) (Opposite.unop.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) j)))
+but is expected to have type
+ forall {C : Type.{u1}} [_inst_1 : CategoryTheory.SmallCategory.{u1} C] (P : CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (j : Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)), Eq.{succ u1} (Quiver.Hom.{succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)))) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.functorToRepresentables.{u1} C _inst_1 P)) j) (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)))) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (Prefunctor.obj.{succ u1, succ u1, succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.const.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.functorToRepresentables.{u1} C _inst_1 P) (CategoryTheory.coconeOfRepresentable.{u1} C _inst_1 P)))) j)) (CategoryTheory.NatTrans.app.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.functorToRepresentables.{u1} C _inst_1 P) (Prefunctor.obj.{succ u1, succ u1, succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.const.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.functorToRepresentables.{u1} C _inst_1 P) (CategoryTheory.coconeOfRepresentable.{u1} C _inst_1 P))) (CategoryTheory.Limits.Cocone.ι.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.functorToRepresentables.{u1} C _inst_1 P) (CategoryTheory.coconeOfRepresentable.{u1} C _inst_1 P)) j) (CategoryTheory.Iso.inv.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1} (Quiver.Hom.{succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} C (CategoryTheory.Category.toCategoryStruct.{u1, u1} C _inst_1)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.yoneda.{u1, u1} C _inst_1)) (Opposite.unop.{succ u1} C (Sigma.fst.{u1, u1} (Opposite.{succ u1} C) (fun (c : Opposite.{succ u1} C) => Prefunctor.obj.{succ u1, succ u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1))) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1} P) c) (Opposite.unop.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) j)))) P) (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1))) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1} P) (Opposite.op.{succ u1} C (Opposite.unop.{succ u1} C (Sigma.fst.{u1, u1} (Opposite.{succ u1} C) (fun (c : Opposite.{succ u1} C) => Prefunctor.obj.{succ u1, succ u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1))) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1} P) c) (Opposite.unop.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) j))))) (CategoryTheory.yonedaSectionsSmall.{u1} C _inst_1 (Opposite.unop.{succ u1} C (Sigma.fst.{u1, u1} (Opposite.{succ u1} C) (fun (c : Opposite.{succ u1} C) => Prefunctor.obj.{succ u1, succ u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1))) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1} P) c) (Opposite.unop.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) j))) P) (Sigma.snd.{u1, u1} (Opposite.{succ u1} C) (fun (c : Opposite.{succ u1} C) => Prefunctor.obj.{succ u1, succ u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1))) Type.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} Type.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1} P) c) (Opposite.unop.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P) j)))
+Case conversion may be inaccurate. Consider using '#align category_theory.cocone_of_representable_ι_app CategoryTheory.coconeOfRepresentable_ι_appₓ'. -/
-- Marking this as a simp lemma seems to make things more awkward.
/-- An explicit formula for the legs of the cocone `cocone_of_representable`. -/
theorem coconeOfRepresentable_ι_app (P : Cᵒᵖ ⥤ Type u₁) (j : P.Elementsᵒᵖ) :
@@ -321,6 +397,12 @@ theorem coconeOfRepresentable_ι_app (P : Cᵒᵖ ⥤ Type u₁) (j : P.Elements
colimit.ι_desc _ _
#align category_theory.cocone_of_representable_ι_app CategoryTheory.coconeOfRepresentable_ι_app
+/- warning: category_theory.cocone_of_representable_naturality -> CategoryTheory.coconeOfRepresentable_naturality is a dubious translation:
+lean 3 declaration is
+ forall {C : Type.{u1}} [_inst_1 : CategoryTheory.SmallCategory.{u1} C] {P₁ : CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}} {P₂ : CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}} (α : Quiver.Hom.{succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) P₁ P₂) (j : Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)), Eq.{succ u1} (Quiver.Hom.{succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.functorToRepresentables.{u1} C _inst_1 P₁) j) P₂) (CategoryTheory.CategoryStruct.comp.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.functorToRepresentables.{u1} C _inst_1 P₁) j) (CategoryTheory.Functor.obj.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.obj.{u1, u1, succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.const.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.functorToRepresentables.{u1} C _inst_1 P₁) (CategoryTheory.coconeOfRepresentable.{u1} C _inst_1 P₁))) j) P₂ (CategoryTheory.NatTrans.app.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.functorToRepresentables.{u1} C _inst_1 P₁) (CategoryTheory.Functor.obj.{u1, u1, succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.const.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.functorToRepresentables.{u1} C _inst_1 P₁) (CategoryTheory.coconeOfRepresentable.{u1} C _inst_1 P₁))) (CategoryTheory.Limits.Cocone.ι.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.functorToRepresentables.{u1} C _inst_1 P₁) (CategoryTheory.coconeOfRepresentable.{u1} C _inst_1 P₁)) j) α) (CategoryTheory.NatTrans.app.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.functorToRepresentables.{u1} C _inst_1 P₂) (CategoryTheory.Functor.obj.{u1, u1, succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.const.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.functorToRepresentables.{u1} C _inst_1 P₂) (CategoryTheory.coconeOfRepresentable.{u1} C _inst_1 P₂))) (CategoryTheory.Limits.Cocone.ι.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.functorToRepresentables.{u1} C _inst_1 P₂) (CategoryTheory.coconeOfRepresentable.{u1} C _inst_1 P₂)) (CategoryTheory.Functor.obj.{u1, u1, u1, u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂)) (CategoryTheory.Functor.op.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁) (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂) (CategoryTheory.CategoryOfElements.map.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁ P₂ α)) j))
+but is expected to have type
+ forall {C : Type.{u1}} [_inst_1 : CategoryTheory.SmallCategory.{u1} C] {P₁ : CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}} {P₂ : CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}} (α : Quiver.Hom.{succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) P₁ P₂) (j : Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)), Eq.{succ u1} (Quiver.Hom.{succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)))) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.functorToRepresentables.{u1} C _inst_1 P₁)) j) P₂) (CategoryTheory.CategoryStruct.comp.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)))) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.functorToRepresentables.{u1} C _inst_1 P₁)) j) (Prefunctor.obj.{succ u1, succ u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)))) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (Prefunctor.obj.{succ u1, succ u1, succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.const.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.functorToRepresentables.{u1} C _inst_1 P₁) (CategoryTheory.coconeOfRepresentable.{u1} C _inst_1 P₁)))) j) P₂ (CategoryTheory.NatTrans.app.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.functorToRepresentables.{u1} C _inst_1 P₁) (Prefunctor.obj.{succ u1, succ u1, succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.const.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.functorToRepresentables.{u1} C _inst_1 P₁) (CategoryTheory.coconeOfRepresentable.{u1} C _inst_1 P₁))) (CategoryTheory.Limits.Cocone.ι.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.functorToRepresentables.{u1} C _inst_1 P₁) (CategoryTheory.coconeOfRepresentable.{u1} C _inst_1 P₁)) j) α) (CategoryTheory.NatTrans.app.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.functorToRepresentables.{u1} C _inst_1 P₂) (Prefunctor.obj.{succ u1, succ u1, succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, succ u1, succ u1} (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1})) (CategoryTheory.Functor.const.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}))) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.functorToRepresentables.{u1} C _inst_1 P₂) (CategoryTheory.coconeOfRepresentable.{u1} C _inst_1 P₂))) (CategoryTheory.Limits.Cocone.ι.{u1, u1, u1, succ u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂)) (CategoryTheory.Functor.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.Functor.category.{u1, u1, u1, succ u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) Type.{u1} CategoryTheory.types.{u1}) (CategoryTheory.functorToRepresentables.{u1} C _inst_1 P₂) (CategoryTheory.coconeOfRepresentable.{u1} C _inst_1 P₂)) (Prefunctor.obj.{succ u1, succ u1, u1, u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)))) (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂)) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂)) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂)))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁)) (Opposite.{succ u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂)) (CategoryTheory.Category.opposite.{u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂)) (CategoryTheory.Functor.op.{u1, u1, u1, u1} (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁) (CategoryTheory.Functor.Elements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂) (CategoryTheory.categoryOfElements.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₂) (CategoryTheory.CategoryOfElements.map.{u1, u1, u1} (Opposite.{succ u1} C) (CategoryTheory.Category.opposite.{u1, u1} C _inst_1) P₁ P₂ α))) j))
+Case conversion may be inaccurate. Consider using '#align category_theory.cocone_of_representable_naturality CategoryTheory.coconeOfRepresentable_naturalityₓ'. -/
/-- The legs of the cocone `cocone_of_representable` are natural in the choice of presheaf. -/
theorem coconeOfRepresentable_naturality {P₁ P₂ : Cᵒᵖ ⥤ Type u₁} (α : P₁ ⟶ P₂) (j : P₁.Elementsᵒᵖ) :
(coconeOfRepresentable P₁).ι.app j ≫ α =
@@ -330,6 +412,7 @@ theorem coconeOfRepresentable_naturality {P₁ P₂ : Cᵒᵖ ⥤ Type u₁} (α
simpa [cocone_of_representable_ι_app] using functor_to_types.naturality _ _ α f.op _
#align category_theory.cocone_of_representable_naturality CategoryTheory.coconeOfRepresentable_naturality
+#print CategoryTheory.colimitOfRepresentable /-
/-- The cocone with point `P` given by `the_cocone` is a colimit: that is, we have exhibited an
arbitrary presheaf `P` as a colimit of representables.
@@ -342,7 +425,9 @@ def colimitOfRepresentable (P : Cᵒᵖ ⥤ Type u₁) : IsColimit (coconeOfRepr
rw [colimit.desc_extend, colimit.desc_cocone]
infer_instance
#align category_theory.colimit_of_representable CategoryTheory.colimitOfRepresentable
+-/
+#print CategoryTheory.natIsoOfNatIsoOnRepresentables /-
/-- Given two functors L₁ and L₂ which preserve colimits, if they agree when restricted to the
representable presheaves then they agree everywhere.
-/
@@ -373,9 +458,11 @@ def natIsoOfNatIsoOnRepresentables (L₁ L₂ : (Cᵒᵖ ⥤ Type u₁) ⥤ ℰ)
rw [← L₂.map_comp, cocone_of_representable_naturality]
rfl
#align category_theory.nat_iso_of_nat_iso_on_representables CategoryTheory.natIsoOfNatIsoOnRepresentables
+-/
variable [HasColimits ℰ]
+#print CategoryTheory.uniqueExtensionAlongYoneda /-
/-- Show that `extend_along_yoneda` is the unique colimit-preserving functor which extends `A` to
the presheaf category.
@@ -386,7 +473,9 @@ def uniqueExtensionAlongYoneda (L : (Cᵒᵖ ⥤ Type u₁) ⥤ ℰ) (hL : yoned
[PreservesColimits L] : L ≅ extendAlongYoneda A :=
natIsoOfNatIsoOnRepresentables _ _ (hL ≪≫ (isExtensionAlongYoneda _).symm)
#align category_theory.unique_extension_along_yoneda CategoryTheory.uniqueExtensionAlongYoneda
+-/
+#print CategoryTheory.isLeftAdjointOfPreservesColimitsAux /-
/-- If `L` preserves colimits and `ℰ` has them, then it is a left adjoint. This is a special case of
`is_left_adjoint_of_preserves_colimits` used to prove that.
-/
@@ -395,7 +484,9 @@ def isLeftAdjointOfPreservesColimitsAux (L : (Cᵒᵖ ⥤ Type u₁) ⥤ ℰ) [P
right := restrictedYoneda (yoneda ⋙ L)
adj := (yonedaAdjunction _).ofNatIsoLeft (uniqueExtensionAlongYoneda _ L (Iso.refl _)).symm
#align category_theory.is_left_adjoint_of_preserves_colimits_aux CategoryTheory.isLeftAdjointOfPreservesColimitsAux
+-/
+#print CategoryTheory.isLeftAdjointOfPreservesColimits /-
/-- If `L` preserves colimits and `ℰ` has them, then it is a left adjoint. Note this is a (partial)
converse to `left_adjoint_preserves_colimits`.
-/
@@ -405,6 +496,7 @@ def isLeftAdjointOfPreservesColimits (L : (C ⥤ Type u₁) ⥤ ℰ) [PreservesC
let t := isLeftAdjointOfPreservesColimitsAux (e.Functor ⋙ L : _)
adjunction.left_adjoint_of_nat_iso (e.inv_fun_id_assoc _)
#align category_theory.is_left_adjoint_of_preserves_colimits CategoryTheory.isLeftAdjointOfPreservesColimits
+-/
end CategoryTheory
mathlib commit https://github.com/leanprover-community/mathlib/commit/ce11c3c2a285bbe6937e26d9792fda4e51f3fe1a
@@ -92,7 +92,7 @@ def restrictedYonedaYoneda : restrictedYoneda (yoneda : C ⥤ Cᵒᵖ ⥤ Type u
It is shown in `restrict_yoneda_hom_equiv_natural` that this is a natural bijection.
-/
def restrictYonedaHomEquiv (P : Cᵒᵖ ⥤ Type u₁) (E : ℰ)
- {c : Cocone ((categoryOfElements.π P).leftOp ⋙ A)} (t : IsColimit c) :
+ {c : Cocone ((CategoryOfElements.π P).leftOp ⋙ A)} (t : IsColimit c) :
(c.pt ⟶ E) ≃ (P ⟶ (restrictedYoneda A).obj E) :=
((uliftTrivial _).symm ≪≫ t.homIso' E).toEquiv.trans
{ toFun := fun k =>
@@ -144,13 +144,13 @@ def extendAlongYoneda : (Cᵒᵖ ⥤ Type u₁) ⥤ ℰ :=
@[simp]
theorem extendAlongYoneda_obj (P : Cᵒᵖ ⥤ Type u₁) :
- (extendAlongYoneda A).obj P = colimit ((categoryOfElements.π P).leftOp ⋙ A) :=
+ (extendAlongYoneda A).obj P = colimit ((CategoryOfElements.π P).leftOp ⋙ A) :=
rfl
#align category_theory.colimit_adj.extend_along_yoneda_obj CategoryTheory.ColimitAdj.extendAlongYoneda_obj
theorem extendAlongYoneda_map {X Y : Cᵒᵖ ⥤ Type u₁} (f : X ⟶ Y) :
(extendAlongYoneda A).map f =
- colimit.pre ((categoryOfElements.π Y).leftOp ⋙ A) (categoryOfElements.map f).op :=
+ colimit.pre ((CategoryOfElements.π Y).leftOp ⋙ A) (CategoryOfElements.map f).op :=
by
ext J
erw [colimit.ι_pre ((category_of_elements.π Y).leftOp ⋙ A) (category_of_elements.map f).op]
@@ -223,9 +223,9 @@ This follows from `category_theory.category_of_elements.costructured_arrow_yoned
@[simps]
def extendAlongYonedaIsoKanApp (X) :
(extendAlongYoneda A).obj X ≅ ((lan yoneda : (_ ⥤ ℰ) ⥤ _).obj A).obj X :=
- let eq := categoryOfElements.costructuredArrowYonedaEquivalence X
+ let eq := CategoryOfElements.costructuredArrowYonedaEquivalence X
{ Hom := colimit.pre (Lan.diagram (yoneda : C ⥤ _ ⥤ Type u₁) A X) Eq.Functor
- inv := colimit.pre ((categoryOfElements.π X).leftOp ⋙ A) Eq.inverse
+ inv := colimit.pre ((CategoryOfElements.π X).leftOp ⋙ A) Eq.inverse
hom_inv_id' :=
by
erw [colimit.pre_pre ((category_of_elements.π X).leftOp ⋙ A) eq.inverse]
@@ -296,7 +296,7 @@ by the fact that it factors through the yoneda embedding).
`cocone_of_representable` gives a cocone for this functor which is a colimit and has point `P`.
-/
def functorToRepresentables (P : Cᵒᵖ ⥤ Type u₁) : P.Elementsᵒᵖ ⥤ Cᵒᵖ ⥤ Type u₁ :=
- (categoryOfElements.π P).leftOp ⋙ yoneda
+ (CategoryOfElements.π P).leftOp ⋙ yoneda
#align category_theory.functor_to_representables CategoryTheory.functorToRepresentables
/-- This is a cocone with point `P` for the functor `functor_to_representables P`. It is shown in
@@ -324,7 +324,7 @@ theorem coconeOfRepresentable_ι_app (P : Cᵒᵖ ⥤ Type u₁) (j : P.Elements
/-- The legs of the cocone `cocone_of_representable` are natural in the choice of presheaf. -/
theorem coconeOfRepresentable_naturality {P₁ P₂ : Cᵒᵖ ⥤ Type u₁} (α : P₁ ⟶ P₂) (j : P₁.Elementsᵒᵖ) :
(coconeOfRepresentable P₁).ι.app j ≫ α =
- (coconeOfRepresentable P₂).ι.app ((categoryOfElements.map α).op.obj j) :=
+ (coconeOfRepresentable P₂).ι.app ((CategoryOfElements.map α).op.obj j) :=
by
ext (T f)
simpa [cocone_of_representable_ι_app] using functor_to_types.naturality _ _ α f.op _
mathlib commit https://github.com/leanprover-community/mathlib/commit/38f16f960f5006c6c0c2bac7b0aba5273188f4e5
@@ -268,7 +268,7 @@ def extendAlongYonedaIsoKan : extendAlongYoneda A ≅ (lan yoneda : (_ ⥤ ℰ)
def extendOfCompYonedaIsoLan {D : Type u₁} [SmallCategory D] (F : C ⥤ D) :
extendAlongYoneda (F ⋙ yoneda) ≅ lan F.op :=
Adjunction.natIsoOfRightAdjointNatIso (yonedaAdjunction (F ⋙ yoneda))
- (lan.adjunction (Type u₁) F.op)
+ (Lan.adjunction (Type u₁) F.op)
(isoWhiskerRight curriedYonedaLemma' ((whiskeringLeft Cᵒᵖ Dᵒᵖ (Type u₁)).obj F.op : _))
#align category_theory.colimit_adj.extend_of_comp_yoneda_iso_Lan CategoryTheory.ColimitAdj.extendOfCompYonedaIsoLan
mathlib commit https://github.com/leanprover-community/mathlib/commit/9da1b3534b65d9661eb8f42443598a92bbb49211
@@ -93,7 +93,7 @@ It is shown in `restrict_yoneda_hom_equiv_natural` that this is a natural biject
-/
def restrictYonedaHomEquiv (P : Cᵒᵖ ⥤ Type u₁) (E : ℰ)
{c : Cocone ((categoryOfElements.π P).leftOp ⋙ A)} (t : IsColimit c) :
- (c.x ⟶ E) ≃ (P ⟶ (restrictedYoneda A).obj E) :=
+ (c.pt ⟶ E) ≃ (P ⟶ (restrictedYoneda A).obj E) :=
((uliftTrivial _).symm ≪≫ t.homIso' E).toEquiv.trans
{ toFun := fun k =>
{ app := fun c p => k.1 (Opposite.op ⟨_, p⟩)
@@ -122,7 +122,7 @@ def restrictYonedaHomEquiv (P : Cᵒᵖ ⥤ Type u₁) (E : ℰ)
(Implementation). Show that the bijection in `restrict_yoneda_hom_equiv` is natural (on the right).
-/
theorem restrictYonedaHomEquiv_natural (P : Cᵒᵖ ⥤ Type u₁) (E₁ E₂ : ℰ) (g : E₁ ⟶ E₂) {c : Cocone _}
- (t : IsColimit c) (k : c.x ⟶ E₁) :
+ (t : IsColimit c) (k : c.pt ⟶ E₁) :
restrictYonedaHomEquiv A P E₂ t (k ≫ g) =
restrictYonedaHomEquiv A P E₁ t k ≫ (restrictedYoneda A).map g :=
by
@@ -179,7 +179,7 @@ def Elements.initial (A : C) : (yoneda.obj A).Elements :=
-/
def isInitial (A : C) : IsInitial (Elements.initial A)
where
- desc s := ⟨s.x.2.op, comp_id _⟩
+ desc s := ⟨s.pt.2.op, comp_id _⟩
uniq s m w := by
simp_rw [← m.2]
dsimp [elements.initial]
@@ -306,13 +306,13 @@ presheaf `P` as a colimit of representables.
The construction of [MM92], Chapter I, Section 5, Corollary 3.
-/
def coconeOfRepresentable (P : Cᵒᵖ ⥤ Type u₁) : Cocone (functorToRepresentables P) :=
- Cocone.extend (Colimit.cocone _) (extendAlongYonedaYoneda.Hom.app P)
+ Cocone.extend (colimit.cocone _) (extendAlongYonedaYoneda.Hom.app P)
#align category_theory.cocone_of_representable CategoryTheory.coconeOfRepresentable
@[simp]
-theorem coconeOfRepresentable_x (P : Cᵒᵖ ⥤ Type u₁) : (coconeOfRepresentable P).x = P :=
+theorem coconeOfRepresentable_pt (P : Cᵒᵖ ⥤ Type u₁) : (coconeOfRepresentable P).pt = P :=
rfl
-#align category_theory.cocone_of_representable_X CategoryTheory.coconeOfRepresentable_x
+#align category_theory.cocone_of_representable_X CategoryTheory.coconeOfRepresentable_pt
-- Marking this as a simp lemma seems to make things more awkward.
/-- An explicit formula for the legs of the cocone `cocone_of_representable`. -/
mathlib commit https://github.com/leanprover-community/mathlib/commit/eb0cb4511aaef0da2462207b67358a0e1fe1e2ee
@@ -180,11 +180,11 @@ def Elements.initial (A : C) : (yoneda.obj A).Elements :=
def isInitial (A : C) : IsInitial (Elements.initial A)
where
desc s := ⟨s.x.2.op, comp_id _⟩
- uniq' s m w := by
+ uniq s m w := by
simp_rw [← m.2]
dsimp [elements.initial]
simp
- fac' := by rintro s ⟨⟨⟩⟩
+ fac := by rintro s ⟨⟨⟩⟩
#align category_theory.colimit_adj.is_initial CategoryTheory.ColimitAdj.isInitial
/--
mathlib commit https://github.com/leanprover-community/mathlib/commit/bd9851ca476957ea4549eb19b40e7b5ade9428cc
@@ -245,8 +245,8 @@ noncomputable def extendAlongYonedaIsoKanApp (X) :
hom_inv_id := by
erw [colimit.pre_pre ((CategoryOfElements.π X).leftOp ⋙ A) eq.inverse]
trans colimit.pre ((CategoryOfElements.π X).leftOp ⋙ A) (𝟭 _)
- congr
- · exact congr_arg Functor.op (CategoryOfElements.from_toCostructuredArrow_eq X)
+ · congr
+ exact congr_arg Functor.op (CategoryOfElements.from_toCostructuredArrow_eq X)
· ext
simp only [colimit.ι_pre]
erw [Category.comp_id]
@@ -254,8 +254,8 @@ noncomputable def extendAlongYonedaIsoKanApp (X) :
inv_hom_id := by
erw [colimit.pre_pre (Lan.diagram (yoneda : C ⥤ _ ⥤ Type u₁) A X) eq.functor]
trans colimit.pre (Lan.diagram (yoneda : C ⥤ _ ⥤ Type u₁) A X) (𝟭 _)
- congr
- · exact CategoryOfElements.to_fromCostructuredArrow_eq X
+ · congr
+ exact CategoryOfElements.to_fromCostructuredArrow_eq X
· ext
simp only [colimit.ι_pre]
erw [Category.comp_id]
@@ -165,7 +165,7 @@ theorem extendAlongYoneda_map {X Y : Cᵒᵖ ⥤ Type u₁} (f : X ⟶ Y) :
-- and appropriately reordered, presumably because of a non-confluence issue.
simp only [Adjunction.leftAdjointOfEquiv_map, Iso.symm_mk, Iso.toEquiv_comp, Equiv.coe_trans,
Equiv.coe_fn_mk, Iso.toEquiv_fun, Equiv.symm_trans_apply, Equiv.coe_fn_symm_mk,
- Iso.toEquiv_symm_fun, id.def, colimit.isColimit_desc, colimit.ι_desc, FunctorToTypes.comp,
+ Iso.toEquiv_symm_fun, id, colimit.isColimit_desc, colimit.ι_desc, FunctorToTypes.comp,
Cocone.extend_ι, Cocone.extensions_app, Functor.map_id, Category.comp_id, colimit.cocone_ι]
simp only [Functor.comp_obj, Functor.leftOp_obj, CategoryOfElements.π_obj, colimit.cocone_x,
Functor.comp_map, Functor.leftOp_map, CategoryOfElements.π_map, Opposite.unop_op,
@@ -384,7 +384,7 @@ noncomputable def natIsoOfNatIsoOnRepresentables (L₁ L₂ : (Cᵒᵖ ⥤ Type
· intro P₁ P₂ f
apply (isColimitOfPreserves L₁ (colimitOfRepresentable P₁)).hom_ext
intro j
- dsimp only [id.def, isoWhiskerLeft_hom]
+ dsimp only [id, isoWhiskerLeft_hom]
have :
(L₁.mapCocone (coconeOfRepresentable P₁)).ι.app j ≫ L₁.map f =
(L₁.mapCocone (coconeOfRepresentable P₂)).ι.app
@@ -41,9 +41,6 @@ colimit, representable, presheaf, free cocompletion
* https://ncatlab.org/nlab/show/Yoneda+extension
-/
-set_option autoImplicit true
-
-
namespace CategoryTheory
open Category Limits
@@ -151,7 +148,7 @@ theorem extendAlongYoneda_obj (P : Cᵒᵖ ⥤ Type u₁) :
-- `(extendAlongYoneda A).obj P` is definitionally a colimit, and the ext lemma is just
-- a special case of `CategoryTheory.Limits.colimit.hom_ext`.
-- See https://github.com/leanprover-community/mathlib4/issues/5229
-@[ext] lemma extendAlongYoneda_obj.hom_ext {P : Cᵒᵖ ⥤ Type u₁}
+@[ext] lemma extendAlongYoneda_obj.hom_ext {X : ℰ} {P : Cᵒᵖ ⥤ Type u₁}
{f f' : (extendAlongYoneda A).obj P ⟶ X}
(w : ∀ j, colimit.ι ((CategoryOfElements.π P).leftOp ⋙ A) j ≫ f =
colimit.ι ((CategoryOfElements.π P).leftOp ⋙ A) j ≫ f') : f = f' :=
Empty lines were removed by executing the following Python script twice
import os
import re
# Loop through each file in the repository
for dir_path, dirs, files in os.walk('.'):
for filename in files:
if filename.endswith('.lean'):
file_path = os.path.join(dir_path, filename)
# Open the file and read its contents
with open(file_path, 'r') as file:
content = file.read()
# Use a regular expression to replace sequences of "variable" lines separated by empty lines
# with sequences without empty lines
modified_content = re.sub(r'(variable.*\n)\n(variable(?! .* in))', r'\1\2', content)
# Write the modified content back to the file
with open(file_path, 'w') as file:
file.write(modified_content)
@@ -53,9 +53,7 @@ universe v₁ v₂ u₁ u₂
section SmallCategory
variable {C : Type u₁} [SmallCategory C]
-
variable {ℰ : Type u₂} [Category.{u₁} ℰ]
-
variable (A : C ⥤ ℰ)
namespace ColimitAdj
Homogenises porting notes via capitalisation and addition of whitespace.
It makes the following changes:
@@ -148,7 +148,7 @@ theorem extendAlongYoneda_obj (P : Cᵒᵖ ⥤ Type u₁) :
rfl
#align category_theory.colimit_adj.extend_along_yoneda_obj CategoryTheory.ColimitAdj.extendAlongYoneda_obj
--- porting note: adding this lemma because lean 4 ext no longer applies all ext lemmas when
+-- Porting note: adding this lemma because lean 4 ext no longer applies all ext lemmas when
-- stuck (and hence can see through definitional equalities). The previous lemma shows that
-- `(extendAlongYoneda A).obj P` is definitionally a colimit, and the ext lemma is just
-- a special case of `CategoryTheory.Limits.colimit.hom_ext`.
@@ -166,7 +166,7 @@ theorem extendAlongYoneda_map {X Y : Cᵒᵖ ⥤ Type u₁} (f : X ⟶ Y) :
erw [colimit.ι_pre ((CategoryOfElements.π Y).leftOp ⋙ A) (CategoryOfElements.map f).op]
dsimp only [extendAlongYoneda, restrictYonedaHomEquiv, IsColimit.homIso', IsColimit.homIso,
uliftTrivial]
- -- porting note: in mathlib3 the rest of the proof was `simp, refl`; this is squeezed
+ -- Porting note: in mathlib3 the rest of the proof was `simp, refl`; this is squeezed
-- and appropriately reordered, presumably because of a non-confluence issue.
simp only [Adjunction.leftAdjointOfEquiv_map, Iso.symm_mk, Iso.toEquiv_comp, Equiv.coe_trans,
Equiv.coe_fn_mk, Iso.toEquiv_fun, Equiv.symm_trans_apply, Equiv.coe_fn_symm_mk,
@@ -222,7 +222,7 @@ noncomputable def isExtensionAlongYoneda :
(colimitOfDiagramTerminal (terminalOpOfInitial (isInitial _)) _))
(by
intro X Y f
- -- porting note: this is slightly different to the `change` in mathlib3 which
+ -- Porting note: this is slightly different to the `change` in mathlib3 which
-- didn't work
change (colimit.desc _ _ ≫ _) = colimit.desc _ _ ≫ _
ext
@@ -293,7 +293,7 @@ noncomputable def extendOfCompYonedaIsoLan {D : Type u₁} [SmallCategory D] (F
set_option linter.uppercaseLean3 false in
#align category_theory.colimit_adj.extend_of_comp_yoneda_iso_Lan CategoryTheory.ColimitAdj.extendOfCompYonedaIsoLan
--- porting note: attaching `[simps!]` directly to the declaration causes a timeout.
+-- Porting note: attaching `[simps!]` directly to the declaration causes a timeout.
attribute [simps!] extendOfCompYonedaIsoLan
end ColimitAdj
@@ -362,7 +362,7 @@ The result of [MM92], Chapter I, Section 5, Corollary 3.
-/
noncomputable def colimitOfRepresentable (P : Cᵒᵖ ⥤ Type u₁) :
IsColimit (coconeOfRepresentable P) := by
- -- porting note:
+ -- Porting note:
-- the `suffices` was not necessary in mathlib3; the function being `apply`ed has an
-- `IsIso` input in square brackets; lean 3 was happy to give the user the input as a goal but
-- lean 4 complains that typeclass inference can't find it.
This is the final missing ingredient of the recognition theorem for Ind-objects (Prop. 4.8), so after this is done it's probably finally time to get the definition of an Ind-object into mathlib.
@@ -3,13 +3,12 @@ Copyright (c) 2020 Bhavik Mehta. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Bhavik Mehta
-/
-import Mathlib.CategoryTheory.Adjunction.Limits
-import Mathlib.CategoryTheory.Adjunction.Opposites
+import Mathlib.CategoryTheory.Comma.Presheaf
import Mathlib.CategoryTheory.Elements
-import Mathlib.CategoryTheory.Limits.FunctorCategory
+import Mathlib.CategoryTheory.Limits.ConeCategory
+import Mathlib.CategoryTheory.Limits.Final
import Mathlib.CategoryTheory.Limits.KanExtension
-import Mathlib.CategoryTheory.Limits.Shapes.Terminal
-import Mathlib.CategoryTheory.Limits.Types
+import Mathlib.CategoryTheory.Limits.Over
#align_import category_theory.limits.presheaf from "leanprover-community/mathlib"@"70fd9563a21e7b963887c9360bd29b2393e6225a"
@@ -452,7 +451,9 @@ def tautologicalCocone : Cocone (CostructuredArrow.proj yoneda P ⋙ yoneda) whe
ι := { app := fun X => X.hom }
/-- The tautological cocone with point `P` is a colimit cocone, exhibiting `P` as a colimit of
- representables. -/
+ representables.
+
+ Proposition 2.6.3(i) in [Kashiwara2006] -/
def isColimitTautologicalCocone : IsColimit (tautologicalCocone P) where
desc := fun s => by
refine' ⟨fun X t => yonedaEquiv (s.ι.app (CostructuredArrow.mk (yonedaEquiv.symm t))), _⟩
@@ -481,6 +482,33 @@ def isColimitTautologicalCocone : IsColimit (tautologicalCocone P) where
erw [Equiv.symm_apply_apply, ← yonedaEquiv_comp']
exact congr_arg _ (h (CostructuredArrow.mk t))
+variable {I : Type v₁} [SmallCategory I] (F : I ⥤ C)
+
+/-- Given a functor `F : I ⥤ C`, a cocone `c` on `F ⋙ yoneda : I ⥤ Cᵒᵖ ⥤ Type v₁` induces a
+ functor `I ⥤ CostructuredArrow yoneda c.pt` which maps `i : I` to the leg
+ `yoneda.obj (F.obj i) ⟶ c.pt`. If `c` is a colimit cocone, then that functor is
+ final.
+
+ Proposition 2.6.3(ii) in [Kashiwara2006] -/
+theorem final_toCostructuredArrow_comp_pre {c : Cocone (F ⋙ yoneda)} (hc : IsColimit c) :
+ Functor.Final (c.toCostructuredArrow ⋙ CostructuredArrow.pre F yoneda c.pt) := by
+ apply Functor.cofinal_of_isTerminal_colimit_comp_yoneda
+
+ suffices IsTerminal (colimit ((c.toCostructuredArrow ⋙ CostructuredArrow.pre F yoneda c.pt) ⋙
+ CostructuredArrow.toOver yoneda c.pt)) by
+ apply IsTerminal.isTerminalOfObj (overEquivPresheafCostructuredArrow c.pt).inverse
+ apply IsTerminal.ofIso this
+ refine ?_ ≪≫ (preservesColimitIso (overEquivPresheafCostructuredArrow c.pt).inverse _).symm
+ apply HasColimit.isoOfNatIso
+ exact isoWhiskerLeft _
+ (CostructuredArrow.toOverCompOverEquivPresheafCostructuredArrow c.pt).isoCompInverse
+
+ apply IsTerminal.ofIso Over.mkIdTerminal
+ let isc : IsColimit ((Over.forget _).mapCocone _) := PreservesColimit.preserves
+ (colimit.isColimit ((c.toCostructuredArrow ⋙ CostructuredArrow.pre F yoneda c.pt) ⋙
+ CostructuredArrow.toOver yoneda c.pt))
+ exact Over.isoMk (hc.coconePointUniqueUpToIso isc) (hc.hom_ext fun i => by simp)
+
end ArbitraryUniverses
end CategoryTheory
This is needed to work with leanprover/lean4#3087
@@ -390,7 +390,7 @@ noncomputable def natIsoOfNatIsoOnRepresentables (L₁ L₂ : (Cᵒᵖ ⥤ Type
· intro P₁ P₂ f
apply (isColimitOfPreserves L₁ (colimitOfRepresentable P₁)).hom_ext
intro j
- dsimp only [id.def, IsColimit.comp_coconePointsIsoOfNatIso_hom, isoWhiskerLeft_hom]
+ dsimp only [id.def, isoWhiskerLeft_hom]
have :
(L₁.mapCocone (coconeOfRepresentable P₁)).ι.app j ≫ L₁.map f =
(L₁.mapCocone (coconeOfRepresentable P₂)).ι.app
@@ -459,7 +459,8 @@ def isColimitTautologicalCocone : IsColimit (tautologicalCocone P) where
intros X Y f
ext t
dsimp
- rw [yonedaEquiv_naturality', yonedaEquiv_symm_map]
+ -- This used to be `rw`, but we need `erw` after leanprover/lean4#2644
+ erw [yonedaEquiv_naturality', yonedaEquiv_symm_map]
simpa using (s.ι.naturality
(CostructuredArrow.homMk' (CostructuredArrow.mk (yonedaEquiv.symm t)) f.unop)).symm
fac := by
@@ -468,14 +469,16 @@ def isColimitTautologicalCocone : IsColimit (tautologicalCocone P) where
apply yonedaEquiv.injective
rw [yonedaEquiv_comp]
dsimp only
- rw [Equiv.symm_apply_apply]
+ -- This used to be `rw`, but we need `erw` after leanprover/lean4#2644
+ erw [Equiv.symm_apply_apply]
rfl
uniq := by
intro s j h
ext V x
obtain ⟨t, rfl⟩ := yonedaEquiv.surjective x
dsimp
- rw [Equiv.symm_apply_apply, ← yonedaEquiv_comp']
+ -- This used to be `rw`, but we need `erw` after leanprover/lean4#2644
+ erw [Equiv.symm_apply_apply, ← yonedaEquiv_comp']
exact congr_arg _ (h (CostructuredArrow.mk t))
end ArbitraryUniverses
@@ -459,8 +459,7 @@ def isColimitTautologicalCocone : IsColimit (tautologicalCocone P) where
intros X Y f
ext t
dsimp
- -- This used to be `rw`, but we need `erw` after leanprover/lean4#2644
- erw [yonedaEquiv_naturality', yonedaEquiv_symm_map]
+ rw [yonedaEquiv_naturality', yonedaEquiv_symm_map]
simpa using (s.ι.naturality
(CostructuredArrow.homMk' (CostructuredArrow.mk (yonedaEquiv.symm t)) f.unop)).symm
fac := by
@@ -469,16 +468,14 @@ def isColimitTautologicalCocone : IsColimit (tautologicalCocone P) where
apply yonedaEquiv.injective
rw [yonedaEquiv_comp]
dsimp only
- -- This used to be `rw`, but we need `erw` after leanprover/lean4#2644
- erw [Equiv.symm_apply_apply]
+ rw [Equiv.symm_apply_apply]
rfl
uniq := by
intro s j h
ext V x
obtain ⟨t, rfl⟩ := yonedaEquiv.surjective x
dsimp
- -- This used to be `rw`, but we need `erw` after leanprover/lean4#2644
- erw [Equiv.symm_apply_apply, ← yonedaEquiv_comp']
+ rw [Equiv.symm_apply_apply, ← yonedaEquiv_comp']
exact congr_arg _ (h (CostructuredArrow.mk t))
end ArbitraryUniverses
@@ -459,7 +459,8 @@ def isColimitTautologicalCocone : IsColimit (tautologicalCocone P) where
intros X Y f
ext t
dsimp
- rw [yonedaEquiv_naturality', yonedaEquiv_symm_map]
+ -- This used to be `rw`, but we need `erw` after leanprover/lean4#2644
+ erw [yonedaEquiv_naturality', yonedaEquiv_symm_map]
simpa using (s.ι.naturality
(CostructuredArrow.homMk' (CostructuredArrow.mk (yonedaEquiv.symm t)) f.unop)).symm
fac := by
@@ -468,14 +469,16 @@ def isColimitTautologicalCocone : IsColimit (tautologicalCocone P) where
apply yonedaEquiv.injective
rw [yonedaEquiv_comp]
dsimp only
- rw [Equiv.symm_apply_apply]
+ -- This used to be `rw`, but we need `erw` after leanprover/lean4#2644
+ erw [Equiv.symm_apply_apply]
rfl
uniq := by
intro s j h
ext V x
obtain ⟨t, rfl⟩ := yonedaEquiv.surjective x
dsimp
- rw [Equiv.symm_apply_apply, ← yonedaEquiv_comp']
+ -- This used to be `rw`, but we need `erw` after leanprover/lean4#2644
+ erw [Equiv.symm_apply_apply, ← yonedaEquiv_comp']
exact congr_arg _ (h (CostructuredArrow.mk t))
end ArbitraryUniverses
A linter that throws on seeing a colon at the start of a line, according to the style guideline that says these operators should go before linebreaks.
@@ -84,8 +84,7 @@ def restrictedYonedaYoneda : restrictedYoneda (yoneda : C ⥤ Cᵒᵖ ⥤ Type u
funext fun x => by
dsimp
have : x.app X (CategoryStruct.id (Opposite.unop X)) =
- (x.app X (𝟙 (Opposite.unop X)))
- := rfl
+ (x.app X (𝟙 (Opposite.unop X))) := rfl
rw [this]
rw [← FunctorToTypes.naturality _ _ x f (𝟙 _)]
simp only [id_comp, Functor.op_obj, Opposite.unop_op, yoneda_obj_map, comp_id]
@@ -85,7 +85,7 @@ def restrictedYonedaYoneda : restrictedYoneda (yoneda : C ⥤ Cᵒᵖ ⥤ Type u
dsimp
have : x.app X (CategoryStruct.id (Opposite.unop X)) =
(x.app X (𝟙 (Opposite.unop X)))
- := by rfl
+ := rfl
rw [this]
rw [← FunctorToTypes.naturality _ _ x f (𝟙 _)]
simp only [id_comp, Functor.op_obj, Opposite.unop_op, yoneda_obj_map, comp_id]
Autoimplicits are highly controversial and also defeat the performance-improving work in #6474.
The intent of this PR is to make autoImplicit
opt-in on a per-file basis, by disabling it in the lakefile and enabling it again with set_option autoImplicit true
in the few files that rely on it.
That also keeps this PR small, as opposed to attempting to "fix" files to not need it any more.
I claim that many of the uses of autoImplicit
in these files are accidental; situations such as:
variables
are in scope, but pasting the lemma in the wrong sectionHaving set_option autoImplicit false
as the default prevents these types of mistake being made in the 90% of files where autoImplicit
s are not used at all, and causes them to be caught by CI during review.
I think there were various points during the port where we encouraged porters to delete the universes u v
lines; I think having autoparams for universe variables only would cover a lot of the cases we actually use them, while avoiding any real shortcomings.
A Zulip poll (after combining overlapping votes accordingly) was in favor of this change with 5:5:18
as the no:dontcare:yes
vote ratio.
While this PR was being reviewed, a handful of files gained some more likely-accidental autoImplicits. In these places, set_option autoImplicit true
has been placed locally within a section, rather than at the top of the file.
@@ -42,6 +42,8 @@ colimit, representable, presheaf, free cocompletion
* https://ncatlab.org/nlab/show/Yoneda+extension
-/
+set_option autoImplicit true
+
namespace CategoryTheory
@@ -20,7 +20,8 @@ This file constructs an adjunction `yonedaAdjunction` between `(Cᵒᵖ ⥤ Type
functor `A : C ⥤ ℰ`, where the right adjoint sends `(E : ℰ)` to `c ↦ (A.obj c ⟶ E)` (provided `ℰ`
has colimits).
-This adjunction is used to show that every presheaf is a colimit of representables.
+This adjunction is used to show that every presheaf is a colimit of representables. This result is
+also known as the density theorem, the co-Yoneda lemma and the Ninja Yoneda lemma.
Further, the left adjoint `colimitAdj.extendAlongYoneda : (Cᵒᵖ ⥤ Type u) ⥤ ℰ` satisfies
`yoneda ⋙ L ≅ A`, that is, an extension of `A : C ⥤ ℰ` to `(Cᵒᵖ ⥤ Type u) ⥤ ℰ` through
@@ -30,6 +31,9 @@ sometimes known as the Yoneda extension, as proved in `extendAlongYonedaIsoKan`.
`uniqueExtensionAlongYoneda` shows `extendAlongYoneda` is unique amongst cocontinuous functors
with this property, establishing the presheaf category as the free cocompletion of a small category.
+We also give a direct pedestrian proof that every presheaf is a colimit of representables. This
+version of the proof is valid for any category `C`, even if it is not small.
+
## Tags
colimit, representable, presheaf, free cocompletion
@@ -43,7 +47,9 @@ namespace CategoryTheory
open Category Limits
-universe u₁ u₂
+universe v₁ v₂ u₁ u₂
+
+section SmallCategory
variable {C : Type u₁} [SmallCategory C]
@@ -429,4 +435,48 @@ noncomputable def isLeftAdjointOfPreservesColimits (L : (C ⥤ Type u₁) ⥤
Adjunction.leftAdjointOfNatIso (e.invFunIdAssoc _)
#align category_theory.is_left_adjoint_of_preserves_colimits CategoryTheory.isLeftAdjointOfPreservesColimits
+end SmallCategory
+
+section ArbitraryUniverses
+
+variable {C : Type u₁} [Category.{v₁} C] (P : Cᵒᵖ ⥤ Type v₁)
+
+/-- For a presheaf `P`, consider the forgetful functor from the category of representable
+ presheaves over `P` to the category of presheaves. There is a tautological cocone over this
+ functor whose leg for a natural transformation `V ⟶ P` with `V` representable is just that
+ natural transformation. -/
+@[simps]
+def tautologicalCocone : Cocone (CostructuredArrow.proj yoneda P ⋙ yoneda) where
+ pt := P
+ ι := { app := fun X => X.hom }
+
+/-- The tautological cocone with point `P` is a colimit cocone, exhibiting `P` as a colimit of
+ representables. -/
+def isColimitTautologicalCocone : IsColimit (tautologicalCocone P) where
+ desc := fun s => by
+ refine' ⟨fun X t => yonedaEquiv (s.ι.app (CostructuredArrow.mk (yonedaEquiv.symm t))), _⟩
+ intros X Y f
+ ext t
+ dsimp
+ rw [yonedaEquiv_naturality', yonedaEquiv_symm_map]
+ simpa using (s.ι.naturality
+ (CostructuredArrow.homMk' (CostructuredArrow.mk (yonedaEquiv.symm t)) f.unop)).symm
+ fac := by
+ intro s t
+ dsimp
+ apply yonedaEquiv.injective
+ rw [yonedaEquiv_comp]
+ dsimp only
+ rw [Equiv.symm_apply_apply]
+ rfl
+ uniq := by
+ intro s j h
+ ext V x
+ obtain ⟨t, rfl⟩ := yonedaEquiv.surjective x
+ dsimp
+ rw [Equiv.symm_apply_apply, ← yonedaEquiv_comp']
+ exact congr_arg _ (h (CostructuredArrow.mk t))
+
+end ArbitraryUniverses
+
end CategoryTheory
@@ -2,11 +2,6 @@
Copyright (c) 2020 Bhavik Mehta. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Bhavik Mehta
-
-! This file was ported from Lean 3 source module category_theory.limits.presheaf
-! 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.Adjunction.Limits
import Mathlib.CategoryTheory.Adjunction.Opposites
@@ -16,6 +11,8 @@ import Mathlib.CategoryTheory.Limits.KanExtension
import Mathlib.CategoryTheory.Limits.Shapes.Terminal
import Mathlib.CategoryTheory.Limits.Types
+#align_import category_theory.limits.presheaf from "leanprover-community/mathlib"@"70fd9563a21e7b963887c9360bd29b2393e6225a"
+
/-!
# Colimit of representables
@@ -149,6 +149,7 @@ theorem extendAlongYoneda_obj (P : Cᵒᵖ ⥤ Type u₁) :
-- stuck (and hence can see through definitional equalities). The previous lemma shows that
-- `(extendAlongYoneda A).obj P` is definitionally a colimit, and the ext lemma is just
-- a special case of `CategoryTheory.Limits.colimit.hom_ext`.
+-- See https://github.com/leanprover-community/mathlib4/issues/5229
@[ext] lemma extendAlongYoneda_obj.hom_ext {P : Cᵒᵖ ⥤ Type u₁}
{f f' : (extendAlongYoneda A).obj P ⟶ X}
(w : ∀ j, colimit.ι ((CategoryOfElements.π P).leftOp ⋙ A) j ≫ f =
@@ -221,8 +222,7 @@ noncomputable def isExtensionAlongYoneda :
-- porting note: this is slightly different to the `change` in mathlib3 which
-- didn't work
change (colimit.desc _ _ ≫ _) = colimit.desc _ _ ≫ _
- apply colimit.hom_ext
- intro j
+ ext
rw [colimit.ι_desc_assoc, colimit.ι_desc_assoc]
change (colimit.ι _ _ ≫ 𝟙 _) ≫ colimit.desc _ _ = _
rw [comp_id, colimit.ι_desc]
@@ -74,18 +74,16 @@ The functor `restrictedYoneda` is isomorphic to the identity functor when evalua
embedding.
-/
def restrictedYonedaYoneda : restrictedYoneda (yoneda : C ⥤ Cᵒᵖ ⥤ Type u₁) ≅ 𝟭 _ :=
- NatIso.ofComponents
- (fun P =>
- NatIso.ofComponents (fun X => yonedaSectionsSmall X.unop _) @ fun X Y f =>
- funext fun x => by
- dsimp
- have : x.app X (CategoryStruct.id (Opposite.unop X)) =
- (x.app X (𝟙 (Opposite.unop X)))
- := by rfl
- rw [this]
- rw [← FunctorToTypes.naturality _ _ x f (𝟙 _)]
- simp only [id_comp, Functor.op_obj, Opposite.unop_op, yoneda_obj_map, comp_id])
- @fun _ _ _ => rfl
+ NatIso.ofComponents fun P =>
+ NatIso.ofComponents (fun X => yonedaSectionsSmall X.unop _) @ fun X Y f =>
+ funext fun x => by
+ dsimp
+ have : x.app X (CategoryStruct.id (Opposite.unop X)) =
+ (x.app X (𝟙 (Opposite.unop X)))
+ := by rfl
+ rw [this]
+ rw [← FunctorToTypes.naturality _ _ x f (𝟙 _)]
+ simp only [id_comp, Functor.op_obj, Opposite.unop_op, yoneda_obj_map, comp_id]
#align category_theory.colimit_adj.restricted_yoneda_yoneda CategoryTheory.ColimitAdj.restrictedYonedaYoneda
/-- (Implementation). The equivalence of homsets which helps construct the left adjoint to
This PR fixes two things:
align
statements for definitions and theorems and instances that are separated by two newlines from the relevant declaration (s/\n\n#align/\n#align
). This is often seen in the mathport output after ending calc
blocks.#align
statements. (This was needed for a script I wrote for #3630.)@@ -175,8 +175,6 @@ theorem extendAlongYoneda_map {X Y : Cᵒᵖ ⥤ Type u₁} (f : X ⟶ Y) :
Adjunction.leftAdjointOfEquiv_obj, Function.comp_apply, Functor.map_id, comp_id,
colimit.cocone_ι, Functor.op_obj]
rfl
-
-
#align category_theory.colimit_adj.extend_along_yoneda_map CategoryTheory.ColimitAdj.extendAlongYoneda_map
/-- Show `extendAlongYoneda` is left adjoint to `restrictedYoneda`.
Co-authored-by: Kevin Buzzard <k.buzzard@imperial.ac.uk> Co-authored-by: Joël Riou <joel.riou@universite-paris-saclay.fr> Co-authored-by: Adam Topaz <github@adamtopaz.com> Co-authored-by: Newell Jensen <newell.jensen@gmail.com> Co-authored-by: Scott Morrison <scott@tqft.net> Co-authored-by: Gabriel Ebner <gebner@gebner.org> Co-authored-by: Ruben Van de Velde <65514131+Ruben-VandeVelde@users.noreply.github.com> Co-authored-by: Jeremy Tan Jie Rui <reddeloostw@gmail.com> Co-authored-by: Patrick Massot <patrickmassot@free.fr> Co-authored-by: Wrenna Robson <e0191785@u.nus.edu> Co-authored-by: Sebastian Ullrich <sebasti@nullri.ch> Co-authored-by: Floris van Doorn <fpvdoorn@gmail.com> Co-authored-by: Henrik Böving <hargonix@gmail.com> Co-authored-by: Pol_tta <pol_tta@outlook.jp>
The unported dependencies are