category_theory.limits.concrete_category
⟷
Mathlib.CategoryTheory.Limits.ConcreteCategory
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)
(last sync)
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -124,7 +124,7 @@ def Concrete.multiequalizerEquivAux (I : MulticospanIndex C) :
by
have a := x.2 (walking_multicospan.hom.fst i)
have b := x.2 (walking_multicospan.hom.snd i)
- rw [← b] at a
+ rw [← b] at a
exact a⟩
invFun x :=
{ val := fun j =>
@@ -208,8 +208,8 @@ theorem Concrete.from_union_surjective_of_isColimit {D : Cocone F} (hD : IsColim
intro a
obtain ⟨b, hb⟩ := this (TX.hom a)
refine' ⟨b, _⟩
- apply_fun TX.inv at hb
- change (TX.hom ≫ TX.inv) (ff b) = (TX.hom ≫ TX.inv) _ at hb
+ apply_fun TX.inv at hb
+ change (TX.hom ≫ TX.inv) (ff b) = (TX.hom ≫ TX.inv) _ at hb
simpa only [TX.hom_inv_id] using hb
have : TX.hom ∘ ff = fun a => G.ι.app a.1 a.2 :=
by
@@ -285,9 +285,9 @@ theorem Concrete.isColimit_exists_of_rep_eq {D : Cocone F} {i j : J} (hD : IsCol
let hG := Types.colimitCoconeIsColimit.{v, v} (F ⋙ forget C)
let T : E ≅ G := hE.unique_up_to_iso hG
let TX : E.X ≅ G.X := (cocones.forget _).mapIso T
- apply_fun TX.hom at h
- change (E.ι.app i ≫ TX.hom) x = (E.ι.app j ≫ TX.hom) y at h
- erw [T.hom.w, T.hom.w] at h
+ apply_fun TX.hom at h
+ change (E.ι.app i ≫ TX.hom) x = (E.ι.app j ≫ TX.hom) y at h
+ erw [T.hom.w, T.hom.w] at h
replace h := Quot.exact _ h
suffices
∀ (a b : Σ j, F.obj j) (h : EqvGen (Limits.Types.Quot.Rel.{v, v} (F ⋙ forget C)) a b),
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -177,16 +177,16 @@ end Limits
section Colimits
-#print CategoryTheory.Limits.cokernel_funext /-
+#print CategoryTheory.Limits.Concrete.cokernel_funext /-
-- We don't mark this as an `@[ext]` lemma as we don't always want to work elementwise.
-theorem cokernel_funext {C : Type _} [Category C] [HasZeroMorphisms C] [ConcreteCategory C]
- {M N K : C} {f : M ⟶ N} [HasCokernel f] {g h : cokernel f ⟶ K}
- (w : ∀ n : N, g (cokernel.π f n) = h (cokernel.π f n)) : g = h :=
+theorem CategoryTheory.Limits.Concrete.cokernel_funext {C : Type _} [Category C]
+ [HasZeroMorphisms C] [ConcreteCategory C] {M N K : C} {f : M ⟶ N} [HasCokernel f]
+ {g h : cokernel f ⟶ K} (w : ∀ n : N, g (cokernel.π f n) = h (cokernel.π f n)) : g = h :=
by
apply coequalizer.hom_ext
apply concrete_category.hom_ext _ _
simpa using w
-#align category_theory.limits.cokernel_funext CategoryTheory.Limits.cokernel_funext
+#align category_theory.limits.cokernel_funext CategoryTheory.Limits.Concrete.cokernel_funext
-/
variable {C : Type u} [Category.{v} C] [ConcreteCategory.{v} C] {J : Type v} [SmallCategory J]
mathlib commit https://github.com/leanprover-community/mathlib/commit/ce64cd319bb6b3e82f31c2d38e79080d377be451
@@ -3,13 +3,13 @@ Copyright (c) 2017 Scott Morrison. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Scott Morrison, Adam Topaz
-/
-import Mathbin.CategoryTheory.Limits.Preserves.Basic
-import Mathbin.CategoryTheory.Limits.Types
-import Mathbin.CategoryTheory.Limits.Shapes.WidePullbacks
-import Mathbin.CategoryTheory.Limits.Shapes.Multiequalizer
-import Mathbin.CategoryTheory.ConcreteCategory.Basic
-import Mathbin.CategoryTheory.Limits.Shapes.Kernels
-import Mathbin.Tactic.ApplyFun
+import CategoryTheory.Limits.Preserves.Basic
+import CategoryTheory.Limits.Types
+import CategoryTheory.Limits.Shapes.WidePullbacks
+import CategoryTheory.Limits.Shapes.Multiequalizer
+import CategoryTheory.ConcreteCategory.Basic
+import CategoryTheory.Limits.Shapes.Kernels
+import Tactic.ApplyFun
#align_import category_theory.limits.concrete_category from "leanprover-community/mathlib"@"cb3ceec8485239a61ed51d944cb9a95b68c6bafc"
mathlib commit https://github.com/leanprover-community/mathlib/commit/8ea5598db6caeddde6cb734aa179cc2408dbd345
@@ -2,11 +2,6 @@
Copyright (c) 2017 Scott Morrison. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Scott Morrison, Adam Topaz
-
-! This file was ported from Lean 3 source module category_theory.limits.concrete_category
-! leanprover-community/mathlib commit cb3ceec8485239a61ed51d944cb9a95b68c6bafc
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
-/
import Mathbin.CategoryTheory.Limits.Preserves.Basic
import Mathbin.CategoryTheory.Limits.Types
@@ -16,6 +11,8 @@ import Mathbin.CategoryTheory.ConcreteCategory.Basic
import Mathbin.CategoryTheory.Limits.Shapes.Kernels
import Mathbin.Tactic.ApplyFun
+#align_import category_theory.limits.concrete_category from "leanprover-community/mathlib"@"cb3ceec8485239a61ed51d944cb9a95b68c6bafc"
+
/-!
# Facts about (co)limits of functors into concrete categories
mathlib commit https://github.com/leanprover-community/mathlib/commit/9fb8964792b4237dac6200193a0d533f1b3f7423
@@ -37,6 +37,7 @@ section Limits
variable {C : Type u} [Category.{v} C] [ConcreteCategory.{max w v} C] {J : Type w} [SmallCategory J]
(F : J ⥤ C) [PreservesLimit F (forget C)]
+#print CategoryTheory.Limits.Concrete.to_product_injective_of_isLimit /-
theorem Concrete.to_product_injective_of_isLimit {D : Cone F} (hD : IsLimit D) :
Function.Injective fun (x : D.pt) (j : J) => D.π.app j x :=
by
@@ -53,16 +54,21 @@ theorem Concrete.to_product_injective_of_isLimit {D : Cone F} (hD : IsLimit D) :
suffices Function.Injective fun (x : G.X) j => G.π.app j x by exact this.comp h
apply Subtype.ext
#align category_theory.limits.concrete.to_product_injective_of_is_limit CategoryTheory.Limits.Concrete.to_product_injective_of_isLimit
+-/
+#print CategoryTheory.Limits.Concrete.isLimit_ext /-
theorem Concrete.isLimit_ext {D : Cone F} (hD : IsLimit D) (x y : D.pt) :
(∀ j, D.π.app j x = D.π.app j y) → x = y := fun h =>
Concrete.to_product_injective_of_isLimit _ hD (funext h)
#align category_theory.limits.concrete.is_limit_ext CategoryTheory.Limits.Concrete.isLimit_ext
+-/
+#print CategoryTheory.Limits.Concrete.limit_ext /-
theorem Concrete.limit_ext [HasLimit F] (x y : limit F) :
(∀ j, limit.π F j x = limit.π F j y) → x = y :=
Concrete.isLimit_ext F (limit.isLimit _) _ _
#align category_theory.limits.concrete.limit_ext CategoryTheory.Limits.Concrete.limit_ext
+-/
section WidePullback
@@ -70,6 +76,7 @@ open WidePullback
open WidePullbackShape
+#print CategoryTheory.Limits.Concrete.widePullback_ext /-
theorem Concrete.widePullback_ext {B : C} {ι : Type w} {X : ι → C} (f : ∀ j : ι, X j ⟶ B)
[HasWidePullback B X f] [PreservesLimit (wideCospan B X f) (forget C)]
(x y : widePullback B X f) (h₀ : base f x = base f y) (h : ∀ j, π f j x = π f j y) : x = y :=
@@ -79,7 +86,9 @@ theorem Concrete.widePullback_ext {B : C} {ι : Type w} {X : ι → C} (f : ∀
· exact h₀
· apply h
#align category_theory.limits.concrete.wide_pullback_ext CategoryTheory.Limits.Concrete.widePullback_ext
+-/
+#print CategoryTheory.Limits.Concrete.widePullback_ext' /-
theorem Concrete.widePullback_ext' {B : C} {ι : Type w} [Nonempty ι] {X : ι → C}
(f : ∀ j : ι, X j ⟶ B) [HasWidePullback.{w} B X f]
[PreservesLimit (wideCospan B X f) (forget C)] (x y : widePullback B X f)
@@ -89,11 +98,13 @@ theorem Concrete.widePullback_ext' {B : C} {ι : Type w} [Nonempty ι] {X : ι
inhabit ι
simp only [← π_arrow f (Inhabited.default _), comp_apply, h]
#align category_theory.limits.concrete.wide_pullback_ext' CategoryTheory.Limits.Concrete.widePullback_ext'
+-/
end WidePullback
section Multiequalizer
+#print CategoryTheory.Limits.Concrete.multiequalizer_ext /-
theorem Concrete.multiequalizer_ext {I : MulticospanIndex.{w} C} [HasMultiequalizer I]
[PreservesLimit I.multicospan (forget C)] (x y : multiequalizer I)
(h : ∀ t : I.L, Multiequalizer.ι I t x = Multiequalizer.ι I t y) : x = y :=
@@ -103,7 +114,9 @@ theorem Concrete.multiequalizer_ext {I : MulticospanIndex.{w} C} [HasMultiequali
· apply h
· rw [← limit.w I.multicospan (walking_multicospan.hom.fst b), comp_apply, comp_apply, h]
#align category_theory.limits.concrete.multiequalizer_ext CategoryTheory.Limits.Concrete.multiequalizer_ext
+-/
+#print CategoryTheory.Limits.Concrete.multiequalizerEquivAux /-
/-- An auxiliary equivalence to be used in `multiequalizer_equiv` below.-/
def Concrete.multiequalizerEquivAux (I : MulticospanIndex C) :
(I.multicospan ⋙ forget C).sections ≃
@@ -135,7 +148,9 @@ def Concrete.multiequalizerEquivAux (I : MulticospanIndex C) :
rfl
right_inv := by intro x; ext i; rfl
#align category_theory.limits.concrete.multiequalizer_equiv_aux CategoryTheory.Limits.Concrete.multiequalizerEquivAux
+-/
+#print CategoryTheory.Limits.Concrete.multiequalizerEquiv /-
/-- The equivalence between the noncomputable multiequalizer and
and the concrete multiequalizer. -/
noncomputable def Concrete.multiequalizerEquiv (I : MulticospanIndex.{w} C) [HasMultiequalizer I]
@@ -147,13 +162,16 @@ noncomputable def Concrete.multiequalizerEquiv (I : MulticospanIndex.{w} C) [Has
let E := h2.conePointUniqueUpToIso (Types.limitConeIsLimit _)
Equiv.trans E.toEquiv (Concrete.multiequalizerEquivAux I)
#align category_theory.limits.concrete.multiequalizer_equiv CategoryTheory.Limits.Concrete.multiequalizerEquiv
+-/
+#print CategoryTheory.Limits.Concrete.multiequalizerEquiv_apply /-
@[simp]
theorem Concrete.multiequalizerEquiv_apply (I : MulticospanIndex.{w} C) [HasMultiequalizer I]
[PreservesLimit I.multicospan (forget C)] (x : multiequalizer I) (i : I.L) :
((Concrete.multiequalizerEquiv I) x : ∀ i : I.L, I.left i) i = Multiequalizer.ι I i x :=
rfl
#align category_theory.limits.concrete.multiequalizer_equiv_apply CategoryTheory.Limits.Concrete.multiequalizerEquiv_apply
+-/
end Multiequalizer
@@ -162,6 +180,7 @@ end Limits
section Colimits
+#print CategoryTheory.Limits.cokernel_funext /-
-- We don't mark this as an `@[ext]` lemma as we don't always want to work elementwise.
theorem cokernel_funext {C : Type _} [Category C] [HasZeroMorphisms C] [ConcreteCategory C]
{M N K : C} {f : M ⟶ N} [HasCokernel f] {g h : cokernel f ⟶ K}
@@ -171,10 +190,12 @@ theorem cokernel_funext {C : Type _} [Category C] [HasZeroMorphisms C] [Concrete
apply concrete_category.hom_ext _ _
simpa using w
#align category_theory.limits.cokernel_funext CategoryTheory.Limits.cokernel_funext
+-/
variable {C : Type u} [Category.{v} C] [ConcreteCategory.{v} C] {J : Type v} [SmallCategory J]
(F : J ⥤ C) [PreservesColimit F (forget C)]
+#print CategoryTheory.Limits.Concrete.from_union_surjective_of_isColimit /-
theorem Concrete.from_union_surjective_of_isColimit {D : Cocone F} (hD : IsColimit D) :
let ff : (Σ j : J, F.obj j) → D.pt := fun a => D.ι.app a.1 a.2
Function.Surjective ff :=
@@ -202,19 +223,25 @@ theorem Concrete.from_union_surjective_of_isColimit {D : Cocone F} (hD : IsColim
rintro ⟨⟨j, a⟩⟩
exact ⟨⟨j, a⟩, rfl⟩
#align category_theory.limits.concrete.from_union_surjective_of_is_colimit CategoryTheory.Limits.Concrete.from_union_surjective_of_isColimit
+-/
+#print CategoryTheory.Limits.Concrete.isColimit_exists_rep /-
theorem Concrete.isColimit_exists_rep {D : Cocone F} (hD : IsColimit D) (x : D.pt) :
∃ (j : J) (y : F.obj j), D.ι.app j y = x :=
by
obtain ⟨a, rfl⟩ := concrete.from_union_surjective_of_is_colimit F hD x
exact ⟨a.1, a.2, rfl⟩
#align category_theory.limits.concrete.is_colimit_exists_rep CategoryTheory.Limits.Concrete.isColimit_exists_rep
+-/
+#print CategoryTheory.Limits.Concrete.colimit_exists_rep /-
theorem Concrete.colimit_exists_rep [HasColimit F] (x : colimit F) :
∃ (j : J) (y : F.obj j), colimit.ι F j y = x :=
Concrete.isColimit_exists_rep F (colimit.isColimit _) x
#align category_theory.limits.concrete.colimit_exists_rep CategoryTheory.Limits.Concrete.colimit_exists_rep
+-/
+#print CategoryTheory.Limits.Concrete.isColimit_rep_eq_of_exists /-
theorem Concrete.isColimit_rep_eq_of_exists {D : Cocone F} {i j : J} (hD : IsColimit D)
(x : F.obj i) (y : F.obj j) (h : ∃ (k : _) (f : i ⟶ k) (g : j ⟶ k), F.map f x = F.map g y) :
D.ι.app i x = D.ι.app j y := by
@@ -236,17 +263,21 @@ theorem Concrete.isColimit_rep_eq_of_exists {D : Cocone F} {i j : J} (hD : IsCol
symm
exact Quot.sound ⟨g, rfl⟩
#align category_theory.limits.concrete.is_colimit_rep_eq_of_exists CategoryTheory.Limits.Concrete.isColimit_rep_eq_of_exists
+-/
+#print CategoryTheory.Limits.Concrete.colimit_rep_eq_of_exists /-
theorem Concrete.colimit_rep_eq_of_exists [HasColimit F] {i j : J} (x : F.obj i) (y : F.obj j)
(h : ∃ (k : _) (f : i ⟶ k) (g : j ⟶ k), F.map f x = F.map g y) :
colimit.ι F i x = colimit.ι F j y :=
Concrete.isColimit_rep_eq_of_exists F (colimit.isColimit _) x y h
#align category_theory.limits.concrete.colimit_rep_eq_of_exists CategoryTheory.Limits.Concrete.colimit_rep_eq_of_exists
+-/
section FilteredColimits
variable [IsFiltered J]
+#print CategoryTheory.Limits.Concrete.isColimit_exists_of_rep_eq /-
theorem Concrete.isColimit_exists_of_rep_eq {D : Cocone F} {i j : J} (hD : IsColimit D)
(x : F.obj i) (y : F.obj j) (h : D.ι.app _ x = D.ι.app _ y) :
∃ (k : _) (f : i ⟶ k) (g : j ⟶ k), F.map f x = F.map g y :=
@@ -288,23 +319,30 @@ theorem Concrete.isColimit_exists_of_rep_eq {D : Cocone F} {i j : J} (hD : IsCol
simp only [← comp_apply, ← F.map_comp]
rw [is_filtered.coeq_condition]
#align category_theory.limits.concrete.is_colimit_exists_of_rep_eq CategoryTheory.Limits.Concrete.isColimit_exists_of_rep_eq
+-/
+#print CategoryTheory.Limits.Concrete.isColimit_rep_eq_iff_exists /-
theorem Concrete.isColimit_rep_eq_iff_exists {D : Cocone F} {i j : J} (hD : IsColimit D)
(x : F.obj i) (y : F.obj j) :
D.ι.app i x = D.ι.app j y ↔ ∃ (k : _) (f : i ⟶ k) (g : j ⟶ k), F.map f x = F.map g y :=
⟨Concrete.isColimit_exists_of_rep_eq _ hD _ _, Concrete.isColimit_rep_eq_of_exists _ hD _ _⟩
#align category_theory.limits.concrete.is_colimit_rep_eq_iff_exists CategoryTheory.Limits.Concrete.isColimit_rep_eq_iff_exists
+-/
+#print CategoryTheory.Limits.Concrete.colimit_exists_of_rep_eq /-
theorem Concrete.colimit_exists_of_rep_eq [HasColimit F] {i j : J} (x : F.obj i) (y : F.obj j)
(h : colimit.ι F _ x = colimit.ι F _ y) :
∃ (k : _) (f : i ⟶ k) (g : j ⟶ k), F.map f x = F.map g y :=
Concrete.isColimit_exists_of_rep_eq F (colimit.isColimit _) x y h
#align category_theory.limits.concrete.colimit_exists_of_rep_eq CategoryTheory.Limits.Concrete.colimit_exists_of_rep_eq
+-/
+#print CategoryTheory.Limits.Concrete.colimit_rep_eq_iff_exists /-
theorem Concrete.colimit_rep_eq_iff_exists [HasColimit F] {i j : J} (x : F.obj i) (y : F.obj j) :
colimit.ι F i x = colimit.ι F j y ↔ ∃ (k : _) (f : i ⟶ k) (g : j ⟶ k), F.map f x = F.map g y :=
⟨Concrete.colimit_exists_of_rep_eq _ _ _, Concrete.colimit_rep_eq_of_exists _ _ _⟩
#align category_theory.limits.concrete.colimit_rep_eq_iff_exists CategoryTheory.Limits.Concrete.colimit_rep_eq_iff_exists
+-/
end FilteredColimits
@@ -314,6 +352,7 @@ open WidePushout
open WidePushoutShape
+#print CategoryTheory.Limits.Concrete.widePushout_exists_rep /-
theorem Concrete.widePushout_exists_rep {B : C} {α : Type _} {X : α → C} (f : ∀ j : α, B ⟶ X j)
[HasWidePushout.{v} B X f] [PreservesColimit (wideSpan B X f) (forget C)]
(x : widePushout B X f) : (∃ y : B, head f y = x) ∨ ∃ (i : α) (y : X i), ι f i y = x :=
@@ -323,7 +362,9 @@ theorem Concrete.widePushout_exists_rep {B : C} {α : Type _} {X : α → C} (f
· right
use j, y
#align category_theory.limits.concrete.wide_pushout_exists_rep CategoryTheory.Limits.Concrete.widePushout_exists_rep
+-/
+#print CategoryTheory.Limits.Concrete.widePushout_exists_rep' /-
theorem Concrete.widePushout_exists_rep' {B : C} {α : Type _} [Nonempty α] {X : α → C}
(f : ∀ j : α, B ⟶ X j) [HasWidePushout.{v} B X f] [PreservesColimit (wideSpan B X f) (forget C)]
(x : widePushout B X f) : ∃ (i : α) (y : X i), ι f i y = x :=
@@ -334,6 +375,7 @@ theorem Concrete.widePushout_exists_rep' {B : C} {α : Type _} [Nonempty α] {X
simp only [← arrow_ι _ (Inhabited.default α), comp_apply]
· use i, y
#align category_theory.limits.concrete.wide_pushout_exists_rep' CategoryTheory.Limits.Concrete.widePushout_exists_rep'
+-/
end WidePushout
mathlib commit https://github.com/leanprover-community/mathlib/commit/9fb8964792b4237dac6200193a0d533f1b3f7423
@@ -70,7 +70,6 @@ open WidePullback
open WidePullbackShape
-#print CategoryTheory.Limits.Concrete.widePullback_ext /-
theorem Concrete.widePullback_ext {B : C} {ι : Type w} {X : ι → C} (f : ∀ j : ι, X j ⟶ B)
[HasWidePullback B X f] [PreservesLimit (wideCospan B X f) (forget C)]
(x y : widePullback B X f) (h₀ : base f x = base f y) (h : ∀ j, π f j x = π f j y) : x = y :=
@@ -80,9 +79,7 @@ theorem Concrete.widePullback_ext {B : C} {ι : Type w} {X : ι → C} (f : ∀
· exact h₀
· apply h
#align category_theory.limits.concrete.wide_pullback_ext CategoryTheory.Limits.Concrete.widePullback_ext
--/
-#print CategoryTheory.Limits.Concrete.widePullback_ext' /-
theorem Concrete.widePullback_ext' {B : C} {ι : Type w} [Nonempty ι] {X : ι → C}
(f : ∀ j : ι, X j ⟶ B) [HasWidePullback.{w} B X f]
[PreservesLimit (wideCospan B X f) (forget C)] (x y : widePullback B X f)
@@ -92,13 +89,11 @@ theorem Concrete.widePullback_ext' {B : C} {ι : Type w} [Nonempty ι] {X : ι
inhabit ι
simp only [← π_arrow f (Inhabited.default _), comp_apply, h]
#align category_theory.limits.concrete.wide_pullback_ext' CategoryTheory.Limits.Concrete.widePullback_ext'
--/
end WidePullback
section Multiequalizer
-#print CategoryTheory.Limits.Concrete.multiequalizer_ext /-
theorem Concrete.multiequalizer_ext {I : MulticospanIndex.{w} C} [HasMultiequalizer I]
[PreservesLimit I.multicospan (forget C)] (x y : multiequalizer I)
(h : ∀ t : I.L, Multiequalizer.ι I t x = Multiequalizer.ι I t y) : x = y :=
@@ -108,7 +103,6 @@ theorem Concrete.multiequalizer_ext {I : MulticospanIndex.{w} C} [HasMultiequali
· apply h
· rw [← limit.w I.multicospan (walking_multicospan.hom.fst b), comp_apply, comp_apply, h]
#align category_theory.limits.concrete.multiequalizer_ext CategoryTheory.Limits.Concrete.multiequalizer_ext
--/
/-- An auxiliary equivalence to be used in `multiequalizer_equiv` below.-/
def Concrete.multiequalizerEquivAux (I : MulticospanIndex C) :
@@ -142,7 +136,6 @@ def Concrete.multiequalizerEquivAux (I : MulticospanIndex C) :
right_inv := by intro x; ext i; rfl
#align category_theory.limits.concrete.multiequalizer_equiv_aux CategoryTheory.Limits.Concrete.multiequalizerEquivAux
-#print CategoryTheory.Limits.Concrete.multiequalizerEquiv /-
/-- The equivalence between the noncomputable multiequalizer and
and the concrete multiequalizer. -/
noncomputable def Concrete.multiequalizerEquiv (I : MulticospanIndex.{w} C) [HasMultiequalizer I]
@@ -154,7 +147,6 @@ noncomputable def Concrete.multiequalizerEquiv (I : MulticospanIndex.{w} C) [Has
let E := h2.conePointUniqueUpToIso (Types.limitConeIsLimit _)
Equiv.trans E.toEquiv (Concrete.multiequalizerEquivAux I)
#align category_theory.limits.concrete.multiequalizer_equiv CategoryTheory.Limits.Concrete.multiequalizerEquiv
--/
@[simp]
theorem Concrete.multiequalizerEquiv_apply (I : MulticospanIndex.{w} C) [HasMultiequalizer I]
@@ -322,7 +314,6 @@ open WidePushout
open WidePushoutShape
-#print CategoryTheory.Limits.Concrete.widePushout_exists_rep /-
theorem Concrete.widePushout_exists_rep {B : C} {α : Type _} {X : α → C} (f : ∀ j : α, B ⟶ X j)
[HasWidePushout.{v} B X f] [PreservesColimit (wideSpan B X f) (forget C)]
(x : widePushout B X f) : (∃ y : B, head f y = x) ∨ ∃ (i : α) (y : X i), ι f i y = x :=
@@ -332,9 +323,7 @@ theorem Concrete.widePushout_exists_rep {B : C} {α : Type _} {X : α → C} (f
· right
use j, y
#align category_theory.limits.concrete.wide_pushout_exists_rep CategoryTheory.Limits.Concrete.widePushout_exists_rep
--/
-#print CategoryTheory.Limits.Concrete.widePushout_exists_rep' /-
theorem Concrete.widePushout_exists_rep' {B : C} {α : Type _} [Nonempty α] {X : α → C}
(f : ∀ j : α, B ⟶ X j) [HasWidePushout.{v} B X f] [PreservesColimit (wideSpan B X f) (forget C)]
(x : widePushout B X f) : ∃ (i : α) (y : X i), ι f i y = x :=
@@ -345,7 +334,6 @@ theorem Concrete.widePushout_exists_rep' {B : C} {α : Type _} [Nonempty α] {X
simp only [← arrow_ι _ (Inhabited.default α), comp_apply]
· use i, y
#align category_theory.limits.concrete.wide_pushout_exists_rep' CategoryTheory.Limits.Concrete.widePushout_exists_rep'
--/
end WidePushout
mathlib commit https://github.com/leanprover-community/mathlib/commit/5f25c089cb34db4db112556f23c50d12da81b297
@@ -198,7 +198,7 @@ theorem Concrete.from_union_surjective_of_isColimit {D : Cocone F} (hD : IsColim
intro a
obtain ⟨b, hb⟩ := this (TX.hom a)
refine' ⟨b, _⟩
- apply_fun TX.inv at hb
+ apply_fun TX.inv at hb
change (TX.hom ≫ TX.inv) (ff b) = (TX.hom ≫ TX.inv) _ at hb
simpa only [TX.hom_inv_id] using hb
have : TX.hom ∘ ff = fun a => G.ι.app a.1 a.2 :=
@@ -265,7 +265,7 @@ theorem Concrete.isColimit_exists_of_rep_eq {D : Cocone F} {i j : J} (hD : IsCol
let hG := Types.colimitCoconeIsColimit.{v, v} (F ⋙ forget C)
let T : E ≅ G := hE.unique_up_to_iso hG
let TX : E.X ≅ G.X := (cocones.forget _).mapIso T
- apply_fun TX.hom at h
+ apply_fun TX.hom at h
change (E.ι.app i ≫ TX.hom) x = (E.ι.app j ≫ TX.hom) y at h
erw [T.hom.w, T.hom.w] at h
replace h := Quot.exact _ h
mathlib commit https://github.com/leanprover-community/mathlib/commit/cca40788df1b8755d5baf17ab2f27dacc2e17acb
@@ -120,7 +120,7 @@ def Concrete.multiequalizerEquivAux (I : MulticospanIndex C) :
by
have a := x.2 (walking_multicospan.hom.fst i)
have b := x.2 (walking_multicospan.hom.snd i)
- rw [← b] at a
+ rw [← b] at a
exact a⟩
invFun x :=
{ val := fun j =>
@@ -184,7 +184,7 @@ variable {C : Type u} [Category.{v} C] [ConcreteCategory.{v} C] {J : Type v} [Sm
(F : J ⥤ C) [PreservesColimit F (forget C)]
theorem Concrete.from_union_surjective_of_isColimit {D : Cocone F} (hD : IsColimit D) :
- let ff : (Σj : J, F.obj j) → D.pt := fun a => D.ι.app a.1 a.2
+ let ff : (Σ j : J, F.obj j) → D.pt := fun a => D.ι.app a.1 a.2
Function.Surjective ff :=
by
intro ff
@@ -198,8 +198,8 @@ theorem Concrete.from_union_surjective_of_isColimit {D : Cocone F} (hD : IsColim
intro a
obtain ⟨b, hb⟩ := this (TX.hom a)
refine' ⟨b, _⟩
- apply_fun TX.inv at hb
- change (TX.hom ≫ TX.inv) (ff b) = (TX.hom ≫ TX.inv) _ at hb
+ apply_fun TX.inv at hb
+ change (TX.hom ≫ TX.inv) (ff b) = (TX.hom ≫ TX.inv) _ at hb
simpa only [TX.hom_inv_id] using hb
have : TX.hom ∘ ff = fun a => G.ι.app a.1 a.2 :=
by
@@ -212,19 +212,19 @@ theorem Concrete.from_union_surjective_of_isColimit {D : Cocone F} (hD : IsColim
#align category_theory.limits.concrete.from_union_surjective_of_is_colimit CategoryTheory.Limits.Concrete.from_union_surjective_of_isColimit
theorem Concrete.isColimit_exists_rep {D : Cocone F} (hD : IsColimit D) (x : D.pt) :
- ∃ (j : J)(y : F.obj j), D.ι.app j y = x :=
+ ∃ (j : J) (y : F.obj j), D.ι.app j y = x :=
by
obtain ⟨a, rfl⟩ := concrete.from_union_surjective_of_is_colimit F hD x
exact ⟨a.1, a.2, rfl⟩
#align category_theory.limits.concrete.is_colimit_exists_rep CategoryTheory.Limits.Concrete.isColimit_exists_rep
theorem Concrete.colimit_exists_rep [HasColimit F] (x : colimit F) :
- ∃ (j : J)(y : F.obj j), colimit.ι F j y = x :=
+ ∃ (j : J) (y : F.obj j), colimit.ι F j y = x :=
Concrete.isColimit_exists_rep F (colimit.isColimit _) x
#align category_theory.limits.concrete.colimit_exists_rep CategoryTheory.Limits.Concrete.colimit_exists_rep
theorem Concrete.isColimit_rep_eq_of_exists {D : Cocone F} {i j : J} (hD : IsColimit D)
- (x : F.obj i) (y : F.obj j) (h : ∃ (k : _)(f : i ⟶ k)(g : j ⟶ k), F.map f x = F.map g y) :
+ (x : F.obj i) (y : F.obj j) (h : ∃ (k : _) (f : i ⟶ k) (g : j ⟶ k), F.map f x = F.map g y) :
D.ι.app i x = D.ι.app j y := by
let E := (forget C).mapCocone D
let hE : is_colimit E := is_colimit_of_preserves _ hD
@@ -246,7 +246,7 @@ theorem Concrete.isColimit_rep_eq_of_exists {D : Cocone F} {i j : J} (hD : IsCol
#align category_theory.limits.concrete.is_colimit_rep_eq_of_exists CategoryTheory.Limits.Concrete.isColimit_rep_eq_of_exists
theorem Concrete.colimit_rep_eq_of_exists [HasColimit F] {i j : J} (x : F.obj i) (y : F.obj j)
- (h : ∃ (k : _)(f : i ⟶ k)(g : j ⟶ k), F.map f x = F.map g y) :
+ (h : ∃ (k : _) (f : i ⟶ k) (g : j ⟶ k), F.map f x = F.map g y) :
colimit.ι F i x = colimit.ι F j y :=
Concrete.isColimit_rep_eq_of_exists F (colimit.isColimit _) x y h
#align category_theory.limits.concrete.colimit_rep_eq_of_exists CategoryTheory.Limits.Concrete.colimit_rep_eq_of_exists
@@ -257,7 +257,7 @@ variable [IsFiltered J]
theorem Concrete.isColimit_exists_of_rep_eq {D : Cocone F} {i j : J} (hD : IsColimit D)
(x : F.obj i) (y : F.obj j) (h : D.ι.app _ x = D.ι.app _ y) :
- ∃ (k : _)(f : i ⟶ k)(g : j ⟶ k), F.map f x = F.map g y :=
+ ∃ (k : _) (f : i ⟶ k) (g : j ⟶ k), F.map f x = F.map g y :=
by
let E := (forget C).mapCocone D
let hE : is_colimit E := is_colimit_of_preserves _ hD
@@ -265,13 +265,13 @@ theorem Concrete.isColimit_exists_of_rep_eq {D : Cocone F} {i j : J} (hD : IsCol
let hG := Types.colimitCoconeIsColimit.{v, v} (F ⋙ forget C)
let T : E ≅ G := hE.unique_up_to_iso hG
let TX : E.X ≅ G.X := (cocones.forget _).mapIso T
- apply_fun TX.hom at h
- change (E.ι.app i ≫ TX.hom) x = (E.ι.app j ≫ TX.hom) y at h
- erw [T.hom.w, T.hom.w] at h
+ apply_fun TX.hom at h
+ change (E.ι.app i ≫ TX.hom) x = (E.ι.app j ≫ TX.hom) y at h
+ erw [T.hom.w, T.hom.w] at h
replace h := Quot.exact _ h
suffices
- ∀ (a b : Σj, F.obj j) (h : EqvGen (Limits.Types.Quot.Rel.{v, v} (F ⋙ forget C)) a b),
- ∃ (k : _)(f : a.1 ⟶ k)(g : b.1 ⟶ k), F.map f a.2 = F.map g b.2
+ ∀ (a b : Σ j, F.obj j) (h : EqvGen (Limits.Types.Quot.Rel.{v, v} (F ⋙ forget C)) a b),
+ ∃ (k : _) (f : a.1 ⟶ k) (g : b.1 ⟶ k), F.map f a.2 = F.map g b.2
by exact this ⟨i, x⟩ ⟨j, y⟩ h
intro a b h
induction h
@@ -299,18 +299,18 @@ theorem Concrete.isColimit_exists_of_rep_eq {D : Cocone F} {i j : J} (hD : IsCol
theorem Concrete.isColimit_rep_eq_iff_exists {D : Cocone F} {i j : J} (hD : IsColimit D)
(x : F.obj i) (y : F.obj j) :
- D.ι.app i x = D.ι.app j y ↔ ∃ (k : _)(f : i ⟶ k)(g : j ⟶ k), F.map f x = F.map g y :=
+ D.ι.app i x = D.ι.app j y ↔ ∃ (k : _) (f : i ⟶ k) (g : j ⟶ k), F.map f x = F.map g y :=
⟨Concrete.isColimit_exists_of_rep_eq _ hD _ _, Concrete.isColimit_rep_eq_of_exists _ hD _ _⟩
#align category_theory.limits.concrete.is_colimit_rep_eq_iff_exists CategoryTheory.Limits.Concrete.isColimit_rep_eq_iff_exists
theorem Concrete.colimit_exists_of_rep_eq [HasColimit F] {i j : J} (x : F.obj i) (y : F.obj j)
(h : colimit.ι F _ x = colimit.ι F _ y) :
- ∃ (k : _)(f : i ⟶ k)(g : j ⟶ k), F.map f x = F.map g y :=
+ ∃ (k : _) (f : i ⟶ k) (g : j ⟶ k), F.map f x = F.map g y :=
Concrete.isColimit_exists_of_rep_eq F (colimit.isColimit _) x y h
#align category_theory.limits.concrete.colimit_exists_of_rep_eq CategoryTheory.Limits.Concrete.colimit_exists_of_rep_eq
theorem Concrete.colimit_rep_eq_iff_exists [HasColimit F] {i j : J} (x : F.obj i) (y : F.obj j) :
- colimit.ι F i x = colimit.ι F j y ↔ ∃ (k : _)(f : i ⟶ k)(g : j ⟶ k), F.map f x = F.map g y :=
+ colimit.ι F i x = colimit.ι F j y ↔ ∃ (k : _) (f : i ⟶ k) (g : j ⟶ k), F.map f x = F.map g y :=
⟨Concrete.colimit_exists_of_rep_eq _ _ _, Concrete.colimit_rep_eq_of_exists _ _ _⟩
#align category_theory.limits.concrete.colimit_rep_eq_iff_exists CategoryTheory.Limits.Concrete.colimit_rep_eq_iff_exists
@@ -325,7 +325,7 @@ open WidePushoutShape
#print CategoryTheory.Limits.Concrete.widePushout_exists_rep /-
theorem Concrete.widePushout_exists_rep {B : C} {α : Type _} {X : α → C} (f : ∀ j : α, B ⟶ X j)
[HasWidePushout.{v} B X f] [PreservesColimit (wideSpan B X f) (forget C)]
- (x : widePushout B X f) : (∃ y : B, head f y = x) ∨ ∃ (i : α)(y : X i), ι f i y = x :=
+ (x : widePushout B X f) : (∃ y : B, head f y = x) ∨ ∃ (i : α) (y : X i), ι f i y = x :=
by
obtain ⟨_ | j, y, rfl⟩ := concrete.colimit_exists_rep _ x
· use y
@@ -337,7 +337,7 @@ theorem Concrete.widePushout_exists_rep {B : C} {α : Type _} {X : α → C} (f
#print CategoryTheory.Limits.Concrete.widePushout_exists_rep' /-
theorem Concrete.widePushout_exists_rep' {B : C} {α : Type _} [Nonempty α] {X : α → C}
(f : ∀ j : α, B ⟶ X j) [HasWidePushout.{v} B X f] [PreservesColimit (wideSpan B X f) (forget C)]
- (x : widePushout B X f) : ∃ (i : α)(y : X i), ι f i y = x :=
+ (x : widePushout B X f) : ∃ (i : α) (y : X i), ι f i y = x :=
by
rcases concrete.wide_pushout_exists_rep f x with (⟨y, rfl⟩ | ⟨i, y, rfl⟩)
· inhabit α
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -37,9 +37,6 @@ section Limits
variable {C : Type u} [Category.{v} C] [ConcreteCategory.{max w v} C] {J : Type w} [SmallCategory J]
(F : J ⥤ C) [PreservesLimit F (forget C)]
-/- warning: category_theory.limits.concrete.to_product_injective_of_is_limit -> CategoryTheory.Limits.Concrete.to_product_injective_of_isLimit is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.concrete.to_product_injective_of_is_limit CategoryTheory.Limits.Concrete.to_product_injective_of_isLimitₓ'. -/
theorem Concrete.to_product_injective_of_isLimit {D : Cone F} (hD : IsLimit D) :
Function.Injective fun (x : D.pt) (j : J) => D.π.app j x :=
by
@@ -57,17 +54,11 @@ theorem Concrete.to_product_injective_of_isLimit {D : Cone F} (hD : IsLimit D) :
apply Subtype.ext
#align category_theory.limits.concrete.to_product_injective_of_is_limit CategoryTheory.Limits.Concrete.to_product_injective_of_isLimit
-/- warning: category_theory.limits.concrete.is_limit_ext -> CategoryTheory.Limits.Concrete.isLimit_ext is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.concrete.is_limit_ext CategoryTheory.Limits.Concrete.isLimit_extₓ'. -/
theorem Concrete.isLimit_ext {D : Cone F} (hD : IsLimit D) (x y : D.pt) :
(∀ j, D.π.app j x = D.π.app j y) → x = y := fun h =>
Concrete.to_product_injective_of_isLimit _ hD (funext h)
#align category_theory.limits.concrete.is_limit_ext CategoryTheory.Limits.Concrete.isLimit_ext
-/- warning: category_theory.limits.concrete.limit_ext -> CategoryTheory.Limits.Concrete.limit_ext is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.concrete.limit_ext CategoryTheory.Limits.Concrete.limit_extₓ'. -/
theorem Concrete.limit_ext [HasLimit F] (x y : limit F) :
(∀ j, limit.π F j x = limit.π F j y) → x = y :=
Concrete.isLimit_ext F (limit.isLimit _) _ _
@@ -119,9 +110,6 @@ theorem Concrete.multiequalizer_ext {I : MulticospanIndex.{w} C} [HasMultiequali
#align category_theory.limits.concrete.multiequalizer_ext CategoryTheory.Limits.Concrete.multiequalizer_ext
-/
-/- warning: category_theory.limits.concrete.multiequalizer_equiv_aux -> CategoryTheory.Limits.Concrete.multiequalizerEquivAux is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.concrete.multiequalizer_equiv_aux CategoryTheory.Limits.Concrete.multiequalizerEquivAuxₓ'. -/
/-- An auxiliary equivalence to be used in `multiequalizer_equiv` below.-/
def Concrete.multiequalizerEquivAux (I : MulticospanIndex C) :
(I.multicospan ⋙ forget C).sections ≃
@@ -168,9 +156,6 @@ noncomputable def Concrete.multiequalizerEquiv (I : MulticospanIndex.{w} C) [Has
#align category_theory.limits.concrete.multiequalizer_equiv CategoryTheory.Limits.Concrete.multiequalizerEquiv
-/
-/- warning: category_theory.limits.concrete.multiequalizer_equiv_apply -> CategoryTheory.Limits.Concrete.multiequalizerEquiv_apply is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.concrete.multiequalizer_equiv_apply CategoryTheory.Limits.Concrete.multiequalizerEquiv_applyₓ'. -/
@[simp]
theorem Concrete.multiequalizerEquiv_apply (I : MulticospanIndex.{w} C) [HasMultiequalizer I]
[PreservesLimit I.multicospan (forget C)] (x : multiequalizer I) (i : I.L) :
@@ -185,9 +170,6 @@ end Limits
section Colimits
-/- warning: category_theory.limits.cokernel_funext -> CategoryTheory.Limits.cokernel_funext is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.cokernel_funext CategoryTheory.Limits.cokernel_funextₓ'. -/
-- We don't mark this as an `@[ext]` lemma as we don't always want to work elementwise.
theorem cokernel_funext {C : Type _} [Category C] [HasZeroMorphisms C] [ConcreteCategory C]
{M N K : C} {f : M ⟶ N} [HasCokernel f] {g h : cokernel f ⟶ K}
@@ -201,9 +183,6 @@ theorem cokernel_funext {C : Type _} [Category C] [HasZeroMorphisms C] [Concrete
variable {C : Type u} [Category.{v} C] [ConcreteCategory.{v} C] {J : Type v} [SmallCategory J]
(F : J ⥤ C) [PreservesColimit F (forget C)]
-/- warning: category_theory.limits.concrete.from_union_surjective_of_is_colimit -> CategoryTheory.Limits.Concrete.from_union_surjective_of_isColimit is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.concrete.from_union_surjective_of_is_colimit CategoryTheory.Limits.Concrete.from_union_surjective_of_isColimitₓ'. -/
theorem Concrete.from_union_surjective_of_isColimit {D : Cocone F} (hD : IsColimit D) :
let ff : (Σj : J, F.obj j) → D.pt := fun a => D.ι.app a.1 a.2
Function.Surjective ff :=
@@ -232,9 +211,6 @@ theorem Concrete.from_union_surjective_of_isColimit {D : Cocone F} (hD : IsColim
exact ⟨⟨j, a⟩, rfl⟩
#align category_theory.limits.concrete.from_union_surjective_of_is_colimit CategoryTheory.Limits.Concrete.from_union_surjective_of_isColimit
-/- warning: category_theory.limits.concrete.is_colimit_exists_rep -> CategoryTheory.Limits.Concrete.isColimit_exists_rep is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.concrete.is_colimit_exists_rep CategoryTheory.Limits.Concrete.isColimit_exists_repₓ'. -/
theorem Concrete.isColimit_exists_rep {D : Cocone F} (hD : IsColimit D) (x : D.pt) :
∃ (j : J)(y : F.obj j), D.ι.app j y = x :=
by
@@ -242,20 +218,11 @@ theorem Concrete.isColimit_exists_rep {D : Cocone F} (hD : IsColimit D) (x : D.p
exact ⟨a.1, a.2, rfl⟩
#align category_theory.limits.concrete.is_colimit_exists_rep CategoryTheory.Limits.Concrete.isColimit_exists_rep
-/- warning: category_theory.limits.concrete.colimit_exists_rep -> CategoryTheory.Limits.Concrete.colimit_exists_rep is a dubious translation:
-lean 3 declaration is
- forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] [_inst_2 : CategoryTheory.ConcreteCategory.{u1, u1, u2} C _inst_1] {J : Type.{u1}} [_inst_3 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) [_inst_4 : CategoryTheory.Limits.PreservesColimit.{u1, u1, u1, u1, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} J _inst_3 F (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)] [_inst_5 : CategoryTheory.Limits.HasColimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F] (x : coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_5)), Exists.{succ u1} J (fun (j : J) => Exists.{succ u1} (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j)) (fun (y : coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j)) => Eq.{succ u1} (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_5)) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_5)) (fun (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_5)) => (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j)) -> (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_5))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u2, u1, u1} C _inst_1 _inst_2 (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_5)) (CategoryTheory.Limits.colimit.ι.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_5 j) y) x))
-but is expected to have type
- forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] [_inst_2 : CategoryTheory.ConcreteCategory.{u1, u1, u2} C _inst_1] {J : Type.{u1}} [_inst_3 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) [_inst_4 : CategoryTheory.Limits.PreservesColimit.{u1, u1, u1, u1, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} J _inst_3 F (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)] [_inst_5 : CategoryTheory.Limits.HasColimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F] (x : Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_5)), Exists.{succ u1} J (fun (j : J) => Exists.{succ u1} (Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j)) (fun (y : Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j)) => Eq.{succ u1} (Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_5)) (Prefunctor.map.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_5) (CategoryTheory.Limits.colimit.ι.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_5 j) y) x))
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.concrete.colimit_exists_rep CategoryTheory.Limits.Concrete.colimit_exists_repₓ'. -/
theorem Concrete.colimit_exists_rep [HasColimit F] (x : colimit F) :
∃ (j : J)(y : F.obj j), colimit.ι F j y = x :=
Concrete.isColimit_exists_rep F (colimit.isColimit _) x
#align category_theory.limits.concrete.colimit_exists_rep CategoryTheory.Limits.Concrete.colimit_exists_rep
-/- warning: category_theory.limits.concrete.is_colimit_rep_eq_of_exists -> CategoryTheory.Limits.Concrete.isColimit_rep_eq_of_exists is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.concrete.is_colimit_rep_eq_of_exists CategoryTheory.Limits.Concrete.isColimit_rep_eq_of_existsₓ'. -/
theorem Concrete.isColimit_rep_eq_of_exists {D : Cocone F} {i j : J} (hD : IsColimit D)
(x : F.obj i) (y : F.obj j) (h : ∃ (k : _)(f : i ⟶ k)(g : j ⟶ k), F.map f x = F.map g y) :
D.ι.app i x = D.ι.app j y := by
@@ -278,9 +245,6 @@ theorem Concrete.isColimit_rep_eq_of_exists {D : Cocone F} {i j : J} (hD : IsCol
exact Quot.sound ⟨g, rfl⟩
#align category_theory.limits.concrete.is_colimit_rep_eq_of_exists CategoryTheory.Limits.Concrete.isColimit_rep_eq_of_exists
-/- warning: category_theory.limits.concrete.colimit_rep_eq_of_exists -> CategoryTheory.Limits.Concrete.colimit_rep_eq_of_exists is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.concrete.colimit_rep_eq_of_exists CategoryTheory.Limits.Concrete.colimit_rep_eq_of_existsₓ'. -/
theorem Concrete.colimit_rep_eq_of_exists [HasColimit F] {i j : J} (x : F.obj i) (y : F.obj j)
(h : ∃ (k : _)(f : i ⟶ k)(g : j ⟶ k), F.map f x = F.map g y) :
colimit.ι F i x = colimit.ι F j y :=
@@ -291,9 +255,6 @@ section FilteredColimits
variable [IsFiltered J]
-/- warning: category_theory.limits.concrete.is_colimit_exists_of_rep_eq -> CategoryTheory.Limits.Concrete.isColimit_exists_of_rep_eq is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.concrete.is_colimit_exists_of_rep_eq CategoryTheory.Limits.Concrete.isColimit_exists_of_rep_eqₓ'. -/
theorem Concrete.isColimit_exists_of_rep_eq {D : Cocone F} {i j : J} (hD : IsColimit D)
(x : F.obj i) (y : F.obj j) (h : D.ι.app _ x = D.ι.app _ y) :
∃ (k : _)(f : i ⟶ k)(g : j ⟶ k), F.map f x = F.map g y :=
@@ -336,27 +297,18 @@ theorem Concrete.isColimit_exists_of_rep_eq {D : Cocone F} {i j : J} (hD : IsCol
rw [is_filtered.coeq_condition]
#align category_theory.limits.concrete.is_colimit_exists_of_rep_eq CategoryTheory.Limits.Concrete.isColimit_exists_of_rep_eq
-/- warning: category_theory.limits.concrete.is_colimit_rep_eq_iff_exists -> CategoryTheory.Limits.Concrete.isColimit_rep_eq_iff_exists is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.concrete.is_colimit_rep_eq_iff_exists CategoryTheory.Limits.Concrete.isColimit_rep_eq_iff_existsₓ'. -/
theorem Concrete.isColimit_rep_eq_iff_exists {D : Cocone F} {i j : J} (hD : IsColimit D)
(x : F.obj i) (y : F.obj j) :
D.ι.app i x = D.ι.app j y ↔ ∃ (k : _)(f : i ⟶ k)(g : j ⟶ k), F.map f x = F.map g y :=
⟨Concrete.isColimit_exists_of_rep_eq _ hD _ _, Concrete.isColimit_rep_eq_of_exists _ hD _ _⟩
#align category_theory.limits.concrete.is_colimit_rep_eq_iff_exists CategoryTheory.Limits.Concrete.isColimit_rep_eq_iff_exists
-/- warning: category_theory.limits.concrete.colimit_exists_of_rep_eq -> CategoryTheory.Limits.Concrete.colimit_exists_of_rep_eq is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.concrete.colimit_exists_of_rep_eq CategoryTheory.Limits.Concrete.colimit_exists_of_rep_eqₓ'. -/
theorem Concrete.colimit_exists_of_rep_eq [HasColimit F] {i j : J} (x : F.obj i) (y : F.obj j)
(h : colimit.ι F _ x = colimit.ι F _ y) :
∃ (k : _)(f : i ⟶ k)(g : j ⟶ k), F.map f x = F.map g y :=
Concrete.isColimit_exists_of_rep_eq F (colimit.isColimit _) x y h
#align category_theory.limits.concrete.colimit_exists_of_rep_eq CategoryTheory.Limits.Concrete.colimit_exists_of_rep_eq
-/- warning: category_theory.limits.concrete.colimit_rep_eq_iff_exists -> CategoryTheory.Limits.Concrete.colimit_rep_eq_iff_exists is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.concrete.colimit_rep_eq_iff_exists CategoryTheory.Limits.Concrete.colimit_rep_eq_iff_existsₓ'. -/
theorem Concrete.colimit_rep_eq_iff_exists [HasColimit F] {i j : J} (x : F.obj i) (y : F.obj j) :
colimit.ι F i x = colimit.ι F j y ↔ ∃ (k : _)(f : i ⟶ k)(g : j ⟶ k), F.map f x = F.map g y :=
⟨Concrete.colimit_exists_of_rep_eq _ _ _, Concrete.colimit_rep_eq_of_exists _ _ _⟩
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -141,24 +141,17 @@ def Concrete.multiequalizerEquivAux (I : MulticospanIndex C) :
| walking_multicospan.right b => I.fst b (x.1 _)
property := by
rintro (a | b) (a' | b') (f | f | f)
- · change (I.multicospan.map (𝟙 _)) _ = _
- simp
+ · change (I.multicospan.map (𝟙 _)) _ = _; simp
· rfl
- · dsimp
- erw [← x.2 b']
- rfl
- · change (I.multicospan.map (𝟙 _)) _ = _
- simp }
+ · dsimp; erw [← x.2 b']; rfl
+ · change (I.multicospan.map (𝟙 _)) _ = _; simp }
left_inv := by
intro x; ext (a | b)
· rfl
· change _ = x.val _
rw [← x.2 (walking_multicospan.hom.fst b)]
rfl
- right_inv := by
- intro x
- ext i
- rfl
+ right_inv := by intro x; ext i; rfl
#align category_theory.limits.concrete.multiequalizer_equiv_aux CategoryTheory.Limits.Concrete.multiequalizerEquivAux
#print CategoryTheory.Limits.Concrete.multiequalizerEquiv /-
@@ -275,8 +268,7 @@ theorem Concrete.isColimit_rep_eq_of_exists {D : Cocone F} {i j : J} (hD : IsCol
apply_fun TX.hom
swap;
· suffices Function.Bijective TX.hom by exact this.1
- rw [← is_iso_iff_bijective]
- apply is_iso.of_iso
+ rw [← is_iso_iff_bijective]; apply is_iso.of_iso
change (E.ι.app i ≫ TX.hom) x = (E.ι.app j ≫ TX.hom) y
erw [T.hom.w, T.hom.w]
obtain ⟨k, f, g, h⟩ := h
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -38,10 +38,7 @@ variable {C : Type u} [Category.{v} C] [ConcreteCategory.{max w v} C] {J : Type
(F : J ⥤ C) [PreservesLimit F (forget C)]
/- warning: category_theory.limits.concrete.to_product_injective_of_is_limit -> CategoryTheory.Limits.Concrete.to_product_injective_of_isLimit is a dubious translation:
-lean 3 declaration is
- forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u2, u3} C] [_inst_2 : CategoryTheory.ConcreteCategory.{max u1 u2, u2, u3} C _inst_1] {J : Type.{u1}} [_inst_3 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) [_inst_4 : CategoryTheory.Limits.PreservesLimit.{u1, u1, u2, max u1 u2, u3, succ (max u1 u2)} C _inst_1 Type.{max u1 u2} CategoryTheory.types.{max u1 u2} J _inst_3 F (CategoryTheory.forget.{u3, max u1 u2, u2} C _inst_1 _inst_2)] {D : CategoryTheory.Limits.Cone.{u1, u2, u1, u3} J _inst_3 C _inst_1 F}, (CategoryTheory.Limits.IsLimit.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D) -> (Function.Injective.{succ (max u1 u2), max (succ u1) (succ (max u1 u2))} (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.Cone.pt.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D)) (forall (j : J), coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u2, u1, u3} J _inst_3 C _inst_1 F j)) (fun (x : coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.Cone.pt.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D)) (j : J) => coeFn.{succ u2, succ (max u1 u2)} (Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u2, u1, u3} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u2, max u1 u2, u3, max u1 u2 u1 u3} C _inst_1 (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cone.pt.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D)) j) (CategoryTheory.Functor.obj.{u1, u2, u1, u3} J _inst_3 C _inst_1 F j)) (fun (f : Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u2, u1, u3} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u2, max u1 u2, u3, max u1 u2 u1 u3} C _inst_1 (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cone.pt.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D)) j) (CategoryTheory.Functor.obj.{u1, u2, u1, u3} J _inst_3 C _inst_1 F j)) => (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u2, u1, u3} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u2, max u1 u2, u3, max u1 u2 u1 u3} C _inst_1 (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cone.pt.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D)) j)) -> (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u2, u1, u3} J _inst_3 C _inst_1 F j))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u3, u2, max u1 u2} C _inst_1 _inst_2 (CategoryTheory.Functor.obj.{u1, u2, u1, u3} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u2, max u1 u2, u3, max u1 u2 u1 u3} C _inst_1 (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cone.pt.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D)) j) (CategoryTheory.Functor.obj.{u1, u2, u1, u3} J _inst_3 C _inst_1 F j)) (CategoryTheory.NatTrans.app.{u1, u2, u1, u3} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u2, max u1 u2, u3, max u1 u2 u1 u3} C _inst_1 (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cone.pt.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D)) F (CategoryTheory.Limits.Cone.π.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D) j) x))
-but is expected to have type
- forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u2, u3} C] [_inst_2 : CategoryTheory.ConcreteCategory.{max u1 u2, u2, u3} C _inst_1] {J : Type.{u1}} [_inst_3 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) [_inst_4 : CategoryTheory.Limits.PreservesLimit.{u1, u1, u2, max u2 u1, u3, max (succ u2) (succ u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} J _inst_3 F (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)] {D : CategoryTheory.Limits.Cone.{u1, u2, u1, u3} J _inst_3 C _inst_1 F}, (CategoryTheory.Limits.IsLimit.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D) -> (Function.Injective.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.Cone.pt.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D)) (forall (j : J), Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u2, u1, u3} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u1, u3} J _inst_3 C _inst_1 F) j)) (fun (x : Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.Cone.pt.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D)) (j : J) => Prefunctor.map.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u2, u1, u3} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u1, u3} J _inst_3 C _inst_1 (Prefunctor.obj.{succ u2, max (succ u1) (succ u2), u3, max (max u1 u2) u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, max (max u1 u3) u2} (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Category.toCategoryStruct.{max u1 u2, max (max u1 u3) u2} (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u2, u1, u3} J _inst_3 C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{u2, max u1 u2, u3, max (max u1 u3) u2} C _inst_1 (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u2, u1, u3} J _inst_3 C _inst_1)) (CategoryTheory.Limits.Cone.pt.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D))) j) (Prefunctor.obj.{succ u1, succ u2, u1, u3} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u1, u3} J _inst_3 C _inst_1 F) j) (CategoryTheory.NatTrans.app.{u1, u2, u1, u3} J _inst_3 C _inst_1 (Prefunctor.obj.{succ u2, max (succ u1) (succ u2), u3, max (max u1 u2) u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, max (max u1 u3) u2} (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Category.toCategoryStruct.{max u1 u2, max (max u1 u3) u2} (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u2, u1, u3} J _inst_3 C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{u2, max u1 u2, u3, max (max u1 u3) u2} C _inst_1 (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u2, u1, u3} J _inst_3 C _inst_1)) (CategoryTheory.Limits.Cone.pt.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D)) F (CategoryTheory.Limits.Cone.π.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D) j) x))
+<too large>
Case conversion may be inaccurate. Consider using '#align category_theory.limits.concrete.to_product_injective_of_is_limit CategoryTheory.Limits.Concrete.to_product_injective_of_isLimitₓ'. -/
theorem Concrete.to_product_injective_of_isLimit {D : Cone F} (hD : IsLimit D) :
Function.Injective fun (x : D.pt) (j : J) => D.π.app j x :=
@@ -61,10 +58,7 @@ theorem Concrete.to_product_injective_of_isLimit {D : Cone F} (hD : IsLimit D) :
#align category_theory.limits.concrete.to_product_injective_of_is_limit CategoryTheory.Limits.Concrete.to_product_injective_of_isLimit
/- warning: category_theory.limits.concrete.is_limit_ext -> CategoryTheory.Limits.Concrete.isLimit_ext is a dubious translation:
-lean 3 declaration is
- forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u2, u3} C] [_inst_2 : CategoryTheory.ConcreteCategory.{max u1 u2, u2, u3} C _inst_1] {J : Type.{u1}} [_inst_3 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) [_inst_4 : CategoryTheory.Limits.PreservesLimit.{u1, u1, u2, max u1 u2, u3, succ (max u1 u2)} C _inst_1 Type.{max u1 u2} CategoryTheory.types.{max u1 u2} J _inst_3 F (CategoryTheory.forget.{u3, max u1 u2, u2} C _inst_1 _inst_2)] {D : CategoryTheory.Limits.Cone.{u1, u2, u1, u3} J _inst_3 C _inst_1 F}, (CategoryTheory.Limits.IsLimit.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D) -> (forall (x : coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.Cone.pt.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D)) (y : coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.Cone.pt.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D)), (forall (j : J), Eq.{succ (max u1 u2)} (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u2, u1, u3} J _inst_3 C _inst_1 F j)) (coeFn.{succ u2, succ (max u1 u2)} (Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u2, u1, u3} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u2, max u1 u2, u3, max u1 u2 u1 u3} C _inst_1 (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cone.pt.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D)) j) (CategoryTheory.Functor.obj.{u1, u2, u1, u3} J _inst_3 C _inst_1 F j)) (fun (f : Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u2, u1, u3} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u2, max u1 u2, u3, max u1 u2 u1 u3} C _inst_1 (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cone.pt.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D)) j) (CategoryTheory.Functor.obj.{u1, u2, u1, u3} J _inst_3 C _inst_1 F j)) => (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u2, u1, u3} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u2, max u1 u2, u3, max u1 u2 u1 u3} C _inst_1 (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cone.pt.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D)) j)) -> (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u2, u1, u3} J _inst_3 C _inst_1 F j))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u3, u2, max u1 u2} C _inst_1 _inst_2 (CategoryTheory.Functor.obj.{u1, u2, u1, u3} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u2, max u1 u2, u3, max u1 u2 u1 u3} C _inst_1 (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cone.pt.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D)) j) (CategoryTheory.Functor.obj.{u1, u2, u1, u3} J _inst_3 C _inst_1 F j)) (CategoryTheory.NatTrans.app.{u1, u2, u1, u3} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u2, max u1 u2, u3, max u1 u2 u1 u3} C _inst_1 (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cone.pt.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D)) F (CategoryTheory.Limits.Cone.π.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D) j) x) (coeFn.{succ u2, succ (max u1 u2)} (Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u2, u1, u3} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u2, max u1 u2, u3, max u1 u2 u1 u3} C _inst_1 (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cone.pt.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D)) j) (CategoryTheory.Functor.obj.{u1, u2, u1, u3} J _inst_3 C _inst_1 F j)) (fun (f : Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u2, u1, u3} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u2, max u1 u2, u3, max u1 u2 u1 u3} C _inst_1 (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cone.pt.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D)) j) (CategoryTheory.Functor.obj.{u1, u2, u1, u3} J _inst_3 C _inst_1 F j)) => (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u2, u1, u3} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u2, max u1 u2, u3, max u1 u2 u1 u3} C _inst_1 (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cone.pt.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D)) j)) -> (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u2, u1, u3} J _inst_3 C _inst_1 F j))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u3, u2, max u1 u2} C _inst_1 _inst_2 (CategoryTheory.Functor.obj.{u1, u2, u1, u3} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u2, max u1 u2, u3, max u1 u2 u1 u3} C _inst_1 (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cone.pt.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D)) j) (CategoryTheory.Functor.obj.{u1, u2, u1, u3} J _inst_3 C _inst_1 F j)) (CategoryTheory.NatTrans.app.{u1, u2, u1, u3} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u2, max u1 u2, u3, max u1 u2 u1 u3} C _inst_1 (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cone.pt.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D)) F (CategoryTheory.Limits.Cone.π.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D) j) y)) -> (Eq.{succ (max u1 u2)} (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.Cone.pt.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D)) x y))
-but is expected to have type
- forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u2, u3} C] [_inst_2 : CategoryTheory.ConcreteCategory.{max u1 u2, u2, u3} C _inst_1] {J : Type.{u1}} [_inst_3 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) [_inst_4 : CategoryTheory.Limits.PreservesLimit.{u1, u1, u2, max u2 u1, u3, max (succ u2) (succ u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} J _inst_3 F (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)] {D : CategoryTheory.Limits.Cone.{u1, u2, u1, u3} J _inst_3 C _inst_1 F}, (CategoryTheory.Limits.IsLimit.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D) -> (forall (x : Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.Cone.pt.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D)) (y : Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.Cone.pt.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D)), (forall (j : J), Eq.{max (succ u2) (succ u1)} (Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u2, u1, u3} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u1, u3} J _inst_3 C _inst_1 F) j)) (Prefunctor.map.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u2, u1, u3} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u1, u3} J _inst_3 C _inst_1 (Prefunctor.obj.{succ u2, max (succ u1) (succ u2), u3, max (max u1 u2) u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, max (max u1 u3) u2} (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Category.toCategoryStruct.{max u1 u2, max (max u1 u3) u2} (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u2, u1, u3} J _inst_3 C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{u2, max u1 u2, u3, max (max u1 u3) u2} C _inst_1 (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u2, u1, u3} J _inst_3 C _inst_1)) (CategoryTheory.Limits.Cone.pt.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D))) j) (Prefunctor.obj.{succ u1, succ u2, u1, u3} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u1, u3} J _inst_3 C _inst_1 F) j) (CategoryTheory.NatTrans.app.{u1, u2, u1, u3} J _inst_3 C _inst_1 (Prefunctor.obj.{succ u2, max (succ u1) (succ u2), u3, max (max u1 u2) u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, max (max u1 u3) u2} (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Category.toCategoryStruct.{max u1 u2, max (max u1 u3) u2} (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u2, u1, u3} J _inst_3 C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{u2, max u1 u2, u3, max (max u1 u3) u2} C _inst_1 (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u2, u1, u3} J _inst_3 C _inst_1)) (CategoryTheory.Limits.Cone.pt.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D)) F (CategoryTheory.Limits.Cone.π.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D) j) x) (Prefunctor.map.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u2, u1, u3} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u1, u3} J _inst_3 C _inst_1 (Prefunctor.obj.{succ u2, max (succ u1) (succ u2), u3, max (max u1 u2) u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, max (max u1 u3) u2} (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Category.toCategoryStruct.{max u1 u2, max (max u1 u3) u2} (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u2, u1, u3} J _inst_3 C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{u2, max u1 u2, u3, max (max u1 u3) u2} C _inst_1 (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u2, u1, u3} J _inst_3 C _inst_1)) (CategoryTheory.Limits.Cone.pt.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D))) j) (Prefunctor.obj.{succ u1, succ u2, u1, u3} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u1, u3} J _inst_3 C _inst_1 F) j) (CategoryTheory.NatTrans.app.{u1, u2, u1, u3} J _inst_3 C _inst_1 (Prefunctor.obj.{succ u2, max (succ u1) (succ u2), u3, max (max u1 u2) u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, max (max u1 u3) u2} (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Category.toCategoryStruct.{max u1 u2, max (max u1 u3) u2} (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u2, u1, u3} J _inst_3 C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{u2, max u1 u2, u3, max (max u1 u3) u2} C _inst_1 (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u2, u1, u3} J _inst_3 C _inst_1)) (CategoryTheory.Limits.Cone.pt.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D)) F (CategoryTheory.Limits.Cone.π.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D) j) y)) -> (Eq.{max (succ u2) (succ u1)} (Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.Cone.pt.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D)) x y))
+<too large>
Case conversion may be inaccurate. Consider using '#align category_theory.limits.concrete.is_limit_ext CategoryTheory.Limits.Concrete.isLimit_extₓ'. -/
theorem Concrete.isLimit_ext {D : Cone F} (hD : IsLimit D) (x y : D.pt) :
(∀ j, D.π.app j x = D.π.app j y) → x = y := fun h =>
@@ -72,10 +66,7 @@ theorem Concrete.isLimit_ext {D : Cone F} (hD : IsLimit D) (x y : D.pt) :
#align category_theory.limits.concrete.is_limit_ext CategoryTheory.Limits.Concrete.isLimit_ext
/- warning: category_theory.limits.concrete.limit_ext -> CategoryTheory.Limits.Concrete.limit_ext is a dubious translation:
-lean 3 declaration is
- forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u2, u3} C] [_inst_2 : CategoryTheory.ConcreteCategory.{max u1 u2, u2, u3} C _inst_1] {J : Type.{u1}} [_inst_3 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) [_inst_4 : CategoryTheory.Limits.PreservesLimit.{u1, u1, u2, max u1 u2, u3, succ (max u1 u2)} C _inst_1 Type.{max u1 u2} CategoryTheory.types.{max u1 u2} J _inst_3 F (CategoryTheory.forget.{u3, max u1 u2, u2} C _inst_1 _inst_2)] [_inst_5 : CategoryTheory.Limits.HasLimit.{u1, u1, u2, u3} J _inst_3 C _inst_1 F] (x : coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.limit.{u1, u1, u2, u3} J _inst_3 C _inst_1 F _inst_5)) (y : coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.limit.{u1, u1, u2, u3} J _inst_3 C _inst_1 F _inst_5)), (forall (j : J), Eq.{succ (max u1 u2)} (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u2, u1, u3} J _inst_3 C _inst_1 F j)) (coeFn.{succ u2, succ (max u1 u2)} (Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.limit.{u1, u1, u2, u3} J _inst_3 C _inst_1 F _inst_5) (CategoryTheory.Functor.obj.{u1, u2, u1, u3} J _inst_3 C _inst_1 F j)) (fun (f : Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.limit.{u1, u1, u2, u3} J _inst_3 C _inst_1 F _inst_5) (CategoryTheory.Functor.obj.{u1, u2, u1, u3} J _inst_3 C _inst_1 F j)) => (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.limit.{u1, u1, u2, u3} J _inst_3 C _inst_1 F _inst_5)) -> (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u2, u1, u3} J _inst_3 C _inst_1 F j))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u3, u2, max u1 u2} C _inst_1 _inst_2 (CategoryTheory.Limits.limit.{u1, u1, u2, u3} J _inst_3 C _inst_1 F _inst_5) (CategoryTheory.Functor.obj.{u1, u2, u1, u3} J _inst_3 C _inst_1 F j)) (CategoryTheory.Limits.limit.π.{u1, u1, u2, u3} J _inst_3 C _inst_1 F _inst_5 j) x) (coeFn.{succ u2, succ (max u1 u2)} (Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.limit.{u1, u1, u2, u3} J _inst_3 C _inst_1 F _inst_5) (CategoryTheory.Functor.obj.{u1, u2, u1, u3} J _inst_3 C _inst_1 F j)) (fun (f : Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.limit.{u1, u1, u2, u3} J _inst_3 C _inst_1 F _inst_5) (CategoryTheory.Functor.obj.{u1, u2, u1, u3} J _inst_3 C _inst_1 F j)) => (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.limit.{u1, u1, u2, u3} J _inst_3 C _inst_1 F _inst_5)) -> (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u2, u1, u3} J _inst_3 C _inst_1 F j))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u3, u2, max u1 u2} C _inst_1 _inst_2 (CategoryTheory.Limits.limit.{u1, u1, u2, u3} J _inst_3 C _inst_1 F _inst_5) (CategoryTheory.Functor.obj.{u1, u2, u1, u3} J _inst_3 C _inst_1 F j)) (CategoryTheory.Limits.limit.π.{u1, u1, u2, u3} J _inst_3 C _inst_1 F _inst_5 j) y)) -> (Eq.{succ (max u1 u2)} (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.limit.{u1, u1, u2, u3} J _inst_3 C _inst_1 F _inst_5)) x y)
-but is expected to have type
- forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u2, u3} C] [_inst_2 : CategoryTheory.ConcreteCategory.{max u1 u2, u2, u3} C _inst_1] {J : Type.{u1}} [_inst_3 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) [_inst_4 : CategoryTheory.Limits.PreservesLimit.{u1, u1, u2, max u2 u1, u3, max (succ u2) (succ u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} J _inst_3 F (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)] [_inst_5 : CategoryTheory.Limits.HasLimit.{u1, u1, u2, u3} J _inst_3 C _inst_1 F] (x : Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.limit.{u1, u1, u2, u3} J _inst_3 C _inst_1 F _inst_5)) (y : Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.limit.{u1, u1, u2, u3} J _inst_3 C _inst_1 F _inst_5)), (forall (j : J), Eq.{max (succ u2) (succ u1)} (Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u2, u1, u3} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u1, u3} J _inst_3 C _inst_1 F) j)) (Prefunctor.map.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.limit.{u1, u1, u2, u3} J _inst_3 C _inst_1 F _inst_5) (Prefunctor.obj.{succ u1, succ u2, u1, u3} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u1, u3} J _inst_3 C _inst_1 F) j) (CategoryTheory.Limits.limit.π.{u1, u1, u2, u3} J _inst_3 C _inst_1 F _inst_5 j) x) (Prefunctor.map.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.limit.{u1, u1, u2, u3} J _inst_3 C _inst_1 F _inst_5) (Prefunctor.obj.{succ u1, succ u2, u1, u3} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u1, u3} J _inst_3 C _inst_1 F) j) (CategoryTheory.Limits.limit.π.{u1, u1, u2, u3} J _inst_3 C _inst_1 F _inst_5 j) y)) -> (Eq.{max (succ u2) (succ u1)} (Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.limit.{u1, u1, u2, u3} J _inst_3 C _inst_1 F _inst_5)) x y)
+<too large>
Case conversion may be inaccurate. Consider using '#align category_theory.limits.concrete.limit_ext CategoryTheory.Limits.Concrete.limit_extₓ'. -/
theorem Concrete.limit_ext [HasLimit F] (x y : limit F) :
(∀ j, limit.π F j x = limit.π F j y) → x = y :=
@@ -129,10 +120,7 @@ theorem Concrete.multiequalizer_ext {I : MulticospanIndex.{w} C} [HasMultiequali
-/
/- warning: category_theory.limits.concrete.multiequalizer_equiv_aux -> CategoryTheory.Limits.Concrete.multiequalizerEquivAux is a dubious translation:
-lean 3 declaration is
- forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u2, u3} C] [_inst_2 : CategoryTheory.ConcreteCategory.{max u1 u2, u2, u3} C _inst_1] (I : CategoryTheory.Limits.MulticospanIndex.{u4, u2, u3} C _inst_1), Equiv.{succ (max u4 u1 u2), max 1 (succ u4) (succ (max u1 u2))} (coeSort.{succ (max u4 u1 u2), succ (succ (max u4 u1 u2))} (Set.{max u4 u1 u2} (forall (j : CategoryTheory.Limits.WalkingMulticospan.{u4} (CategoryTheory.Limits.MulticospanIndex.L.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.R.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.fstTo.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.sndTo.{u4, u2, u3} C _inst_1 I)), CategoryTheory.Functor.obj.{u4, max u1 u2, u4, succ (max u1 u2)} (CategoryTheory.Limits.WalkingMulticospan.{u4} (CategoryTheory.Limits.MulticospanIndex.L.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.R.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.fstTo.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.sndTo.{u4, u2, u3} C _inst_1 I)) (CategoryTheory.Limits.WalkingMulticospan.CategoryTheory.smallCategory.{u4} (CategoryTheory.Limits.MulticospanIndex.L.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.R.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.fstTo.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.sndTo.{u4, u2, u3} C _inst_1 I)) Type.{max u1 u2} CategoryTheory.types.{max u1 u2} (CategoryTheory.Functor.comp.{u4, u2, max u1 u2, u4, u3, succ (max u1 u2)} (CategoryTheory.Limits.WalkingMulticospan.{u4} (CategoryTheory.Limits.MulticospanIndex.L.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.R.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.fstTo.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.sndTo.{u4, u2, u3} C _inst_1 I)) (CategoryTheory.Limits.WalkingMulticospan.CategoryTheory.smallCategory.{u4} (CategoryTheory.Limits.MulticospanIndex.L.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.R.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.fstTo.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.sndTo.{u4, u2, u3} C _inst_1 I)) C _inst_1 Type.{max u1 u2} CategoryTheory.types.{max u1 u2} (CategoryTheory.Limits.MulticospanIndex.multicospan.{u2, u3, u4} C _inst_1 I) (CategoryTheory.forget.{u3, max u1 u2, u2} C _inst_1 _inst_2)) j)) Type.{max u4 u1 u2} (Set.hasCoeToSort.{max u4 u1 u2} (forall (j : CategoryTheory.Limits.WalkingMulticospan.{u4} (CategoryTheory.Limits.MulticospanIndex.L.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.R.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.fstTo.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.sndTo.{u4, u2, u3} C _inst_1 I)), CategoryTheory.Functor.obj.{u4, max u1 u2, u4, succ (max u1 u2)} (CategoryTheory.Limits.WalkingMulticospan.{u4} (CategoryTheory.Limits.MulticospanIndex.L.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.R.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.fstTo.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.sndTo.{u4, u2, u3} C _inst_1 I)) (CategoryTheory.Limits.WalkingMulticospan.CategoryTheory.smallCategory.{u4} (CategoryTheory.Limits.MulticospanIndex.L.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.R.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.fstTo.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.sndTo.{u4, u2, u3} C _inst_1 I)) Type.{max u1 u2} CategoryTheory.types.{max u1 u2} (CategoryTheory.Functor.comp.{u4, u2, max u1 u2, u4, u3, succ (max u1 u2)} (CategoryTheory.Limits.WalkingMulticospan.{u4} (CategoryTheory.Limits.MulticospanIndex.L.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.R.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.fstTo.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.sndTo.{u4, u2, u3} C _inst_1 I)) (CategoryTheory.Limits.WalkingMulticospan.CategoryTheory.smallCategory.{u4} (CategoryTheory.Limits.MulticospanIndex.L.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.R.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.fstTo.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.sndTo.{u4, u2, u3} C _inst_1 I)) C _inst_1 Type.{max u1 u2} CategoryTheory.types.{max u1 u2} (CategoryTheory.Limits.MulticospanIndex.multicospan.{u2, u3, u4} C _inst_1 I) (CategoryTheory.forget.{u3, max u1 u2, u2} C _inst_1 _inst_2)) j)) (CategoryTheory.Functor.sections.{u4, max u1 u2, u4} (CategoryTheory.Limits.WalkingMulticospan.{u4} (CategoryTheory.Limits.MulticospanIndex.L.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.R.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.fstTo.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.sndTo.{u4, u2, u3} C _inst_1 I)) (CategoryTheory.Limits.WalkingMulticospan.CategoryTheory.smallCategory.{u4} (CategoryTheory.Limits.MulticospanIndex.L.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.R.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.fstTo.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.sndTo.{u4, u2, u3} C _inst_1 I)) (CategoryTheory.Functor.comp.{u4, u2, max u1 u2, u4, u3, succ (max u1 u2)} (CategoryTheory.Limits.WalkingMulticospan.{u4} (CategoryTheory.Limits.MulticospanIndex.L.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.R.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.fstTo.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.sndTo.{u4, u2, u3} C _inst_1 I)) (CategoryTheory.Limits.WalkingMulticospan.CategoryTheory.smallCategory.{u4} (CategoryTheory.Limits.MulticospanIndex.L.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.R.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.fstTo.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.sndTo.{u4, u2, u3} C _inst_1 I)) C _inst_1 Type.{max u1 u2} CategoryTheory.types.{max u1 u2} (CategoryTheory.Limits.MulticospanIndex.multicospan.{u2, u3, u4} C _inst_1 I) (CategoryTheory.forget.{u3, max u1 u2, u2} C _inst_1 _inst_2)))) (Subtype.{max (succ u4) (succ (max u1 u2))} (forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u4, u2, u3} C _inst_1 I), coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u4, u2, u3} C _inst_1 I i)) (fun (x : forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u4, u2, u3} C _inst_1 I), coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u4, u2, u3} C _inst_1 I i)) => forall (i : CategoryTheory.Limits.MulticospanIndex.R.{u4, u2, u3} C _inst_1 I), Eq.{succ (max u1 u2)} (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.right.{u4, u2, u3} C _inst_1 I i)) (coeFn.{succ u2, succ (max u1 u2)} (Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u4, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u4, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u4, u2, u3} C _inst_1 I i)) (fun (f : Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u4, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u4, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u4, u2, u3} C _inst_1 I i)) => (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u4, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u4, u2, u3} C _inst_1 I i))) -> (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.right.{u4, u2, u3} C _inst_1 I i))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u3, u2, max u1 u2} C _inst_1 _inst_2 (CategoryTheory.Limits.MulticospanIndex.left.{u4, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u4, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u4, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.fst.{u4, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.fstTo.{u4, u2, u3} C _inst_1 I i))) (coeFn.{succ u2, succ (max u1 u2)} (Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u4, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u4, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u4, u2, u3} C _inst_1 I i)) (fun (f : Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u4, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u4, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u4, u2, u3} C _inst_1 I i)) => (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u4, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u4, u2, u3} C _inst_1 I i))) -> (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.right.{u4, u2, u3} C _inst_1 I i))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u3, u2, max u1 u2} C _inst_1 _inst_2 (CategoryTheory.Limits.MulticospanIndex.left.{u4, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u4, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u4, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.snd.{u4, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.sndTo.{u4, u2, u3} C _inst_1 I i)))))
-but is expected to have type
- forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u2, u3} C] [_inst_2 : CategoryTheory.ConcreteCategory.{max u1 u2, u2, u3} C _inst_1] (I : CategoryTheory.Limits.MulticospanIndex.{u4, u2, u3} C _inst_1), Equiv.{max (max (succ u2) (succ u1)) (succ u4), max 1 (max (succ u2) (succ u1)) (succ u4)} (Set.Elem.{max (max u2 u1) u4} (forall (j : CategoryTheory.Limits.WalkingMulticospan.{u4} (CategoryTheory.Limits.MulticospanIndex.L.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.R.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.fstTo.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.sndTo.{u4, u2, u3} C _inst_1 I)), Prefunctor.obj.{succ u4, succ (max u2 u1), u4, succ (max u2 u1)} (CategoryTheory.Limits.WalkingMulticospan.{u4} (CategoryTheory.Limits.MulticospanIndex.L.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.R.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.fstTo.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.sndTo.{u4, u2, u3} C _inst_1 I)) (CategoryTheory.CategoryStruct.toQuiver.{u4, u4} (CategoryTheory.Limits.WalkingMulticospan.{u4} (CategoryTheory.Limits.MulticospanIndex.L.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.R.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.fstTo.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.sndTo.{u4, u2, u3} C _inst_1 I)) (CategoryTheory.Category.toCategoryStruct.{u4, u4} (CategoryTheory.Limits.WalkingMulticospan.{u4} (CategoryTheory.Limits.MulticospanIndex.L.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.R.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.fstTo.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.sndTo.{u4, u2, u3} C _inst_1 I)) (CategoryTheory.Limits.WalkingMulticospan.instSmallCategoryWalkingMulticospan.{u4} (CategoryTheory.Limits.MulticospanIndex.L.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.R.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.fstTo.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.sndTo.{u4, u2, u3} C _inst_1 I)))) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u4, max u2 u1, u4, succ (max u2 u1)} (CategoryTheory.Limits.WalkingMulticospan.{u4} (CategoryTheory.Limits.MulticospanIndex.L.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.R.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.fstTo.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.sndTo.{u4, u2, u3} C _inst_1 I)) (CategoryTheory.Limits.WalkingMulticospan.instSmallCategoryWalkingMulticospan.{u4} (CategoryTheory.Limits.MulticospanIndex.L.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.R.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.fstTo.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.sndTo.{u4, u2, u3} C _inst_1 I)) Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.Functor.comp.{u4, u2, max u2 u1, u4, u3, max (succ u2) (succ u1)} (CategoryTheory.Limits.WalkingMulticospan.{u4} (CategoryTheory.Limits.MulticospanIndex.L.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.R.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.fstTo.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.sndTo.{u4, u2, u3} C _inst_1 I)) (CategoryTheory.Limits.WalkingMulticospan.instSmallCategoryWalkingMulticospan.{u4} (CategoryTheory.Limits.MulticospanIndex.L.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.R.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.fstTo.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.sndTo.{u4, u2, u3} C _inst_1 I)) C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.Limits.MulticospanIndex.multicospan.{u2, u3, u4} C _inst_1 I) (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2))) j) (CategoryTheory.Functor.sections.{u4, max u2 u1, u4} (CategoryTheory.Limits.WalkingMulticospan.{u4} (CategoryTheory.Limits.MulticospanIndex.L.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.R.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.fstTo.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.sndTo.{u4, u2, u3} C _inst_1 I)) (CategoryTheory.Limits.WalkingMulticospan.instSmallCategoryWalkingMulticospan.{u4} (CategoryTheory.Limits.MulticospanIndex.L.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.R.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.fstTo.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.sndTo.{u4, u2, u3} C _inst_1 I)) (CategoryTheory.Functor.comp.{u4, u2, max u2 u1, u4, u3, max (succ u2) (succ u1)} (CategoryTheory.Limits.WalkingMulticospan.{u4} (CategoryTheory.Limits.MulticospanIndex.L.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.R.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.fstTo.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.sndTo.{u4, u2, u3} C _inst_1 I)) (CategoryTheory.Limits.WalkingMulticospan.instSmallCategoryWalkingMulticospan.{u4} (CategoryTheory.Limits.MulticospanIndex.L.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.R.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.fstTo.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.sndTo.{u4, u2, u3} C _inst_1 I)) C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.Limits.MulticospanIndex.multicospan.{u2, u3, u4} C _inst_1 I) (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)))) (Subtype.{max (max (succ u2) (succ u1)) (succ u4)} (forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u4, u2, u3} C _inst_1 I), Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.left.{u4, u2, u3} C _inst_1 I i)) (fun (x : forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u4, u2, u3} C _inst_1 I), Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.left.{u4, u2, u3} C _inst_1 I i)) => forall (i : CategoryTheory.Limits.MulticospanIndex.R.{u4, u2, u3} C _inst_1 I), Eq.{max (succ u2) (succ u1)} (Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.right.{u4, u2, u3} C _inst_1 I i)) (Prefunctor.map.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.left.{u4, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u4, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u4, u2, u3} C _inst_1 I i) (CategoryTheory.Limits.MulticospanIndex.fst.{u4, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.fstTo.{u4, u2, u3} C _inst_1 I i))) (Prefunctor.map.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.left.{u4, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u4, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u4, u2, u3} C _inst_1 I i) (CategoryTheory.Limits.MulticospanIndex.snd.{u4, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.sndTo.{u4, u2, u3} C _inst_1 I i)))))
+<too large>
Case conversion may be inaccurate. Consider using '#align category_theory.limits.concrete.multiequalizer_equiv_aux CategoryTheory.Limits.Concrete.multiequalizerEquivAuxₓ'. -/
/-- An auxiliary equivalence to be used in `multiequalizer_equiv` below.-/
def Concrete.multiequalizerEquivAux (I : MulticospanIndex C) :
@@ -188,10 +176,7 @@ noncomputable def Concrete.multiequalizerEquiv (I : MulticospanIndex.{w} C) [Has
-/
/- warning: category_theory.limits.concrete.multiequalizer_equiv_apply -> CategoryTheory.Limits.Concrete.multiequalizerEquiv_apply is a dubious translation:
-lean 3 declaration is
- forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u2, u3} C] [_inst_2 : CategoryTheory.ConcreteCategory.{max u1 u2, u2, u3} C _inst_1] (I : CategoryTheory.Limits.MulticospanIndex.{u1, u2, u3} C _inst_1) [_inst_5 : CategoryTheory.Limits.HasMultiequalizer.{u2, u3, u1} C _inst_1 I] [_inst_6 : CategoryTheory.Limits.PreservesLimit.{u1, u1, u2, max u1 u2, u3, succ (max u1 u2)} C _inst_1 Type.{max u1 u2} CategoryTheory.types.{max u1 u2} (CategoryTheory.Limits.WalkingMulticospan.{u1} (CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.R.{u1, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I)) (CategoryTheory.Limits.WalkingMulticospan.CategoryTheory.smallCategory.{u1} (CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.R.{u1, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I)) (CategoryTheory.Limits.MulticospanIndex.multicospan.{u2, u3, u1} C _inst_1 I) (CategoryTheory.forget.{u3, max u1 u2, u2} C _inst_1 _inst_2)] (x : coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.multiequalizer.{u2, u3, u1} C _inst_1 I _inst_5)) (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), Eq.{succ (max u1 u2)} (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) ((fun (a : Sort.{max 1 (succ u1) (succ (max u1 u2))}) (b : Sort.{max (succ u1) (succ (max u1 u2))}) [self : HasLiftT.{max 1 (succ u1) (succ (max u1 u2)), max (succ u1) (succ (max u1 u2))} a b] => self.0) (Subtype.{max (succ u1) (succ (max u1 u2))} (forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) (fun (x : forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) => forall (i : CategoryTheory.Limits.MulticospanIndex.R.{u1, u2, u3} C _inst_1 I), Eq.{succ (max u1 u2)} (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (coeFn.{succ u2, succ (max u1 u2)} (Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (fun (f : Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) => (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i))) -> (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u3, u2, max u1 u2} C _inst_1 _inst_2 (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.fst.{u1, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i))) (coeFn.{succ u2, succ (max u1 u2)} (Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (fun (f : Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) => (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i))) -> (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u3, u2, max u1 u2} C _inst_1 _inst_2 (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.snd.{u1, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i))))) (forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) (HasLiftT.mk.{max 1 (succ u1) (succ (max u1 u2)), max (succ u1) (succ (max u1 u2))} (Subtype.{max (succ u1) (succ (max u1 u2))} (forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) (fun (x : forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) => forall (i : CategoryTheory.Limits.MulticospanIndex.R.{u1, u2, u3} C _inst_1 I), Eq.{succ (max u1 u2)} (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (coeFn.{succ u2, succ (max u1 u2)} (Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (fun (f : Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) => (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i))) -> (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u3, u2, max u1 u2} C _inst_1 _inst_2 (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.fst.{u1, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i))) (coeFn.{succ u2, succ (max u1 u2)} (Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (fun (f : Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) => (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i))) -> (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u3, u2, max u1 u2} C _inst_1 _inst_2 (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.snd.{u1, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i))))) (forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) (CoeTCₓ.coe.{max 1 (succ u1) (succ (max u1 u2)), max (succ u1) (succ (max u1 u2))} (Subtype.{max (succ u1) (succ (max u1 u2))} (forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) (fun (x : forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) => forall (i : CategoryTheory.Limits.MulticospanIndex.R.{u1, u2, u3} C _inst_1 I), Eq.{succ (max u1 u2)} (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (coeFn.{succ u2, succ (max u1 u2)} (Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (fun (f : Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) => (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i))) -> (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u3, u2, max u1 u2} C _inst_1 _inst_2 (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.fst.{u1, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i))) (coeFn.{succ u2, succ (max u1 u2)} (Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (fun (f : Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) => (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i))) -> (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u3, u2, max u1 u2} C _inst_1 _inst_2 (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.snd.{u1, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i))))) (forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) (coeBase.{max 1 (succ u1) (succ (max u1 u2)), max (succ u1) (succ (max u1 u2))} (Subtype.{max (succ u1) (succ (max u1 u2))} (forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) (fun (x : forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) => forall (i : CategoryTheory.Limits.MulticospanIndex.R.{u1, u2, u3} C _inst_1 I), Eq.{succ (max u1 u2)} (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (coeFn.{succ u2, succ (max u1 u2)} (Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (fun (f : Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) => (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i))) -> (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u3, u2, max u1 u2} C _inst_1 _inst_2 (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.fst.{u1, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i))) (coeFn.{succ u2, succ (max u1 u2)} (Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (fun (f : Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) => (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i))) -> (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u3, u2, max u1 u2} C _inst_1 _inst_2 (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.snd.{u1, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i))))) (forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) (coeSubtype.{max (succ u1) (succ (max u1 u2))} (forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) (fun (x : forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) => forall (i : CategoryTheory.Limits.MulticospanIndex.R.{u1, u2, u3} C _inst_1 I), Eq.{succ (max u1 u2)} (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (coeFn.{succ u2, succ (max u1 u2)} (Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (fun (f : Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) => (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i))) -> (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u3, u2, max u1 u2} C _inst_1 _inst_2 (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.fst.{u1, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i))) (coeFn.{succ u2, succ (max u1 u2)} (Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (fun (f : Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) => (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i))) -> (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u3, u2, max u1 u2} C _inst_1 _inst_2 (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.snd.{u1, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)))))))) (coeFn.{max 1 (max (succ (max u1 u2)) 1 (succ u1) (succ (max u1 u2))) (max 1 (succ u1) (succ (max u1 u2))) (succ (max u1 u2)), max (succ (max u1 u2)) 1 (succ u1) (succ (max u1 u2))} (Equiv.{succ (max u1 u2), max 1 (succ u1) (succ (max u1 u2))} (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.multiequalizer.{u2, u3, u1} C _inst_1 I _inst_5)) (Subtype.{max (succ u1) (succ (max u1 u2))} (forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) (fun (x : forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) => forall (i : CategoryTheory.Limits.MulticospanIndex.R.{u1, u2, u3} C _inst_1 I), Eq.{succ (max u1 u2)} (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (coeFn.{succ u2, succ (max u1 u2)} (Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (fun (f : Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) => (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i))) -> (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u3, u2, max u1 u2} C _inst_1 _inst_2 (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.fst.{u1, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i))) (coeFn.{succ u2, succ (max u1 u2)} (Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (fun (f : Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) => (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i))) -> (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u3, u2, max u1 u2} C _inst_1 _inst_2 (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.snd.{u1, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)))))) (fun (_x : Equiv.{succ (max u1 u2), max 1 (succ u1) (succ (max u1 u2))} (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.multiequalizer.{u2, u3, u1} C _inst_1 I _inst_5)) (Subtype.{max (succ u1) (succ (max u1 u2))} (forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) (fun (x : forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) => forall (i : CategoryTheory.Limits.MulticospanIndex.R.{u1, u2, u3} C _inst_1 I), Eq.{succ (max u1 u2)} (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (coeFn.{succ u2, succ (max u1 u2)} (Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (fun (f : Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) => (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i))) -> (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u3, u2, max u1 u2} C _inst_1 _inst_2 (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.fst.{u1, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i))) (coeFn.{succ u2, succ (max u1 u2)} (Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (fun (f : Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) => (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i))) -> (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u3, u2, max u1 u2} C _inst_1 _inst_2 (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.snd.{u1, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)))))) => (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.multiequalizer.{u2, u3, u1} C _inst_1 I _inst_5)) -> (Subtype.{max (succ u1) (succ (max u1 u2))} (forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) (fun (x : forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) => forall (i : CategoryTheory.Limits.MulticospanIndex.R.{u1, u2, u3} C _inst_1 I), Eq.{succ (max u1 u2)} (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (coeFn.{succ u2, succ (max u1 u2)} (Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (fun (f : Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) => (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i))) -> (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u3, u2, max u1 u2} C _inst_1 _inst_2 (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.fst.{u1, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i))) (coeFn.{succ u2, succ (max u1 u2)} (Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (fun (f : Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) => (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i))) -> (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u3, u2, max u1 u2} C _inst_1 _inst_2 (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.snd.{u1, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)))))) (Equiv.hasCoeToFun.{succ (max u1 u2), max 1 (succ u1) (succ (max u1 u2))} (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.multiequalizer.{u2, u3, u1} C _inst_1 I _inst_5)) (Subtype.{max (succ u1) (succ (max u1 u2))} (forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) (fun (x : forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) => forall (i : CategoryTheory.Limits.MulticospanIndex.R.{u1, u2, u3} C _inst_1 I), Eq.{succ (max u1 u2)} (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (coeFn.{succ u2, succ (max u1 u2)} (Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (fun (f : Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) => (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i))) -> (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u3, u2, max u1 u2} C _inst_1 _inst_2 (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.fst.{u1, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i))) (coeFn.{succ u2, succ (max u1 u2)} (Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (fun (f : Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) => (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i))) -> (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u3, u2, max u1 u2} C _inst_1 _inst_2 (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.snd.{u1, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)))))) (CategoryTheory.Limits.Concrete.multiequalizerEquiv.{u1, u2, u3} C _inst_1 _inst_2 I _inst_5 _inst_6) x) i) (coeFn.{succ u2, succ (max u1 u2)} (Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.multiequalizer.{u2, u3, u1} C _inst_1 I _inst_5) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) (fun (f : Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.multiequalizer.{u2, u3, u1} C _inst_1 I _inst_5) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) => (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.multiequalizer.{u2, u3, u1} C _inst_1 I _inst_5)) -> (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u3, u2, max u1 u2} C _inst_1 _inst_2 (CategoryTheory.Limits.multiequalizer.{u2, u3, u1} C _inst_1 I _inst_5) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.Multiequalizer.ι.{u2, u3, u1} C _inst_1 I _inst_5 i) x)
-but is expected to have type
- forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u2, u3} C] [_inst_2 : CategoryTheory.ConcreteCategory.{max u1 u2, u2, u3} C _inst_1] (I : CategoryTheory.Limits.MulticospanIndex.{u1, u2, u3} C _inst_1) [_inst_5 : CategoryTheory.Limits.HasMultiequalizer.{u2, u3, u1} C _inst_1 I] [_inst_6 : CategoryTheory.Limits.PreservesLimit.{u1, u1, u2, max u2 u1, u3, max (succ u2) (succ u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.Limits.WalkingMulticospan.{u1} (CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.R.{u1, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I)) (CategoryTheory.Limits.WalkingMulticospan.instSmallCategoryWalkingMulticospan.{u1} (CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.R.{u1, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I)) (CategoryTheory.Limits.MulticospanIndex.multicospan.{u2, u3, u1} C _inst_1 I) (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)] (x : Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.multiequalizer.{u2, u3, u1} C _inst_1 I _inst_5)) (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), Eq.{max (succ u2) (succ u1)} (Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) (Subtype.val.{max (succ u2) (succ u1)} (forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) (fun (x : forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) => forall (i : CategoryTheory.Limits.MulticospanIndex.R.{u1, u2, u3} C _inst_1 I), Eq.{max (succ u2) (succ u1)} (Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (Prefunctor.map.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i) (CategoryTheory.Limits.MulticospanIndex.fst.{u1, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i))) (Prefunctor.map.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i) (CategoryTheory.Limits.MulticospanIndex.snd.{u1, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)))) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (Equiv.{max (succ u2) (succ u1), max 1 (succ u2) (succ u1)} (Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.multiequalizer.{u2, u3, u1} C _inst_1 I _inst_5)) (Subtype.{max (succ u2) (succ u1)} (forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) (fun (x : forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) => forall (i : CategoryTheory.Limits.MulticospanIndex.R.{u1, u2, u3} C _inst_1 I), Eq.{max (succ u2) (succ u1)} (Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (Prefunctor.map.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i) (CategoryTheory.Limits.MulticospanIndex.fst.{u1, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i))) (Prefunctor.map.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i) (CategoryTheory.Limits.MulticospanIndex.snd.{u1, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)))))) (Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.multiequalizer.{u2, u3, u1} C _inst_1 I _inst_5)) (fun (_x : Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.multiequalizer.{u2, u3, u1} C _inst_1 I _inst_5)) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.multiequalizer.{u2, u3, u1} C _inst_1 I _inst_5)) => Subtype.{max (succ u2) (succ u1)} (forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) (fun (x : forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) => forall (i : CategoryTheory.Limits.MulticospanIndex.R.{u1, u2, u3} C _inst_1 I), Eq.{max (succ u2) (succ u1)} (Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (Prefunctor.map.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i) (CategoryTheory.Limits.MulticospanIndex.fst.{u1, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i))) (Prefunctor.map.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i) (CategoryTheory.Limits.MulticospanIndex.snd.{u1, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i))))) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.multiequalizer.{u2, u3, u1} C _inst_1 I _inst_5)) (Subtype.{max (succ u2) (succ u1)} (forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) (fun (x : forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) => forall (i : CategoryTheory.Limits.MulticospanIndex.R.{u1, u2, u3} C _inst_1 I), Eq.{max (succ u2) (succ u1)} (Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (Prefunctor.map.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i) (CategoryTheory.Limits.MulticospanIndex.fst.{u1, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i))) (Prefunctor.map.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i) (CategoryTheory.Limits.MulticospanIndex.snd.{u1, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)))))) (CategoryTheory.Limits.Concrete.multiequalizerEquiv.{u1, u2, u3} C _inst_1 _inst_2 I _inst_5 _inst_6) x) i) (Prefunctor.map.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.multiequalizer.{u2, u3, u1} C _inst_1 I _inst_5) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i) (CategoryTheory.Limits.Multiequalizer.ι.{u2, u3, u1} C _inst_1 I _inst_5 i) x)
+<too large>
Case conversion may be inaccurate. Consider using '#align category_theory.limits.concrete.multiequalizer_equiv_apply CategoryTheory.Limits.Concrete.multiequalizerEquiv_applyₓ'. -/
@[simp]
theorem Concrete.multiequalizerEquiv_apply (I : MulticospanIndex.{w} C) [HasMultiequalizer I]
@@ -208,10 +193,7 @@ end Limits
section Colimits
/- warning: category_theory.limits.cokernel_funext -> CategoryTheory.Limits.cokernel_funext is a dubious translation:
-lean 3 declaration is
- forall {C : Type.{u1}} [_inst_1 : CategoryTheory.Category.{u2, u1} C] [_inst_2 : CategoryTheory.Limits.HasZeroMorphisms.{u2, u1} C _inst_1] [_inst_3 : CategoryTheory.ConcreteCategory.{u3, u2, u1} C _inst_1] {M : C} {N : C} {K : C} {f : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) M N} [_inst_4 : CategoryTheory.Limits.HasCokernel.{u2, u1} C _inst_1 _inst_2 M N f] {g : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Limits.cokernel.{u2, u1} C _inst_1 _inst_2 M N f _inst_4) K} {h : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Limits.cokernel.{u2, u1} C _inst_1 _inst_2 M N f _inst_4) K}, (forall (n : coeSort.{succ u1, succ (succ u3)} C Type.{u3} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u1, u3, u2} C _inst_1 _inst_3) N), Eq.{succ u3} (coeSort.{succ u1, succ (succ u3)} C Type.{u3} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u1, u3, u2} C _inst_1 _inst_3) K) (coeFn.{succ u2, succ u3} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Limits.cokernel.{u2, u1} C _inst_1 _inst_2 M N f _inst_4) K) (fun (f_1 : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Limits.cokernel.{u2, u1} C _inst_1 _inst_2 M N f _inst_4) K) => (coeSort.{succ u1, succ (succ u3)} C Type.{u3} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u1, u3, u2} C _inst_1 _inst_3) (CategoryTheory.Limits.cokernel.{u2, u1} C _inst_1 _inst_2 M N f _inst_4)) -> (coeSort.{succ u1, succ (succ u3)} C Type.{u3} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u1, u3, u2} C _inst_1 _inst_3) K)) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u1, u2, u3} C _inst_1 _inst_3 (CategoryTheory.Limits.cokernel.{u2, u1} C _inst_1 _inst_2 M N f _inst_4) K) g (coeFn.{succ u2, succ u3} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) N (CategoryTheory.Limits.cokernel.{u2, u1} C _inst_1 _inst_2 M N f _inst_4)) (fun (f_1 : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) N (CategoryTheory.Limits.cokernel.{u2, u1} C _inst_1 _inst_2 M N f _inst_4)) => (coeSort.{succ u1, succ (succ u3)} C Type.{u3} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u1, u3, u2} C _inst_1 _inst_3) N) -> (coeSort.{succ u1, succ (succ u3)} C Type.{u3} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u1, u3, u2} C _inst_1 _inst_3) (CategoryTheory.Limits.cokernel.{u2, u1} C _inst_1 _inst_2 M N f _inst_4))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u1, u2, u3} C _inst_1 _inst_3 N (CategoryTheory.Limits.cokernel.{u2, u1} C _inst_1 _inst_2 M N f _inst_4)) (CategoryTheory.Limits.cokernel.π.{u2, u1} C _inst_1 _inst_2 M N f _inst_4) n)) (coeFn.{succ u2, succ u3} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Limits.cokernel.{u2, u1} C _inst_1 _inst_2 M N f _inst_4) K) (fun (f_1 : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Limits.cokernel.{u2, u1} C _inst_1 _inst_2 M N f _inst_4) K) => (coeSort.{succ u1, succ (succ u3)} C Type.{u3} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u1, u3, u2} C _inst_1 _inst_3) (CategoryTheory.Limits.cokernel.{u2, u1} C _inst_1 _inst_2 M N f _inst_4)) -> (coeSort.{succ u1, succ (succ u3)} C Type.{u3} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u1, u3, u2} C _inst_1 _inst_3) K)) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u1, u2, u3} C _inst_1 _inst_3 (CategoryTheory.Limits.cokernel.{u2, u1} C _inst_1 _inst_2 M N f _inst_4) K) h (coeFn.{succ u2, succ u3} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) N (CategoryTheory.Limits.cokernel.{u2, u1} C _inst_1 _inst_2 M N f _inst_4)) (fun (f_1 : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) N (CategoryTheory.Limits.cokernel.{u2, u1} C _inst_1 _inst_2 M N f _inst_4)) => (coeSort.{succ u1, succ (succ u3)} C Type.{u3} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u1, u3, u2} C _inst_1 _inst_3) N) -> (coeSort.{succ u1, succ (succ u3)} C Type.{u3} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u1, u3, u2} C _inst_1 _inst_3) (CategoryTheory.Limits.cokernel.{u2, u1} C _inst_1 _inst_2 M N f _inst_4))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u1, u2, u3} C _inst_1 _inst_3 N (CategoryTheory.Limits.cokernel.{u2, u1} C _inst_1 _inst_2 M N f _inst_4)) (CategoryTheory.Limits.cokernel.π.{u2, u1} C _inst_1 _inst_2 M N f _inst_4) n))) -> (Eq.{succ u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Limits.cokernel.{u2, u1} C _inst_1 _inst_2 M N f _inst_4) K) g h)
-but is expected to have type
- forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u2, u3} C] [_inst_2 : CategoryTheory.Limits.HasZeroMorphisms.{u2, u3} C _inst_1] [_inst_3 : CategoryTheory.ConcreteCategory.{u1, u2, u3} C _inst_1] {M : C} {N : C} {K : C} {f : Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) M N} [_inst_4 : CategoryTheory.Limits.HasCokernel.{u2, u3} C _inst_1 _inst_2 M N f] {g : Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.cokernel.{u2, u3} C _inst_1 _inst_2 M N f _inst_4) K} {h : Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.cokernel.{u2, u3} C _inst_1 _inst_2 M N f _inst_4) K}, (forall (n : Prefunctor.obj.{succ u2, succ u1, u3, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} 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.{u2, u1, u3, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u3, u1, u2} C _inst_1 _inst_3)) N), Eq.{succ u1} (Prefunctor.obj.{succ u2, succ u1, u3, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} 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.{u2, u1, u3, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u3, u1, u2} C _inst_1 _inst_3)) K) (Prefunctor.map.{succ u2, succ u1, u3, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} 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.{u2, u1, u3, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u3, u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Limits.cokernel.{u2, u3} C _inst_1 _inst_2 M N f _inst_4) K g (Prefunctor.map.{succ u2, succ u1, u3, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} 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.{u2, u1, u3, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u3, u1, u2} C _inst_1 _inst_3)) N (CategoryTheory.Limits.cokernel.{u2, u3} C _inst_1 _inst_2 M N f _inst_4) (CategoryTheory.Limits.cokernel.π.{u2, u3} C _inst_1 _inst_2 M N f _inst_4) n)) (Prefunctor.map.{succ u2, succ u1, u3, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} 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.{u2, u1, u3, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u3, u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Limits.cokernel.{u2, u3} C _inst_1 _inst_2 M N f _inst_4) K h (Prefunctor.map.{succ u2, succ u1, u3, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} 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.{u2, u1, u3, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u3, u1, u2} C _inst_1 _inst_3)) N (CategoryTheory.Limits.cokernel.{u2, u3} C _inst_1 _inst_2 M N f _inst_4) (CategoryTheory.Limits.cokernel.π.{u2, u3} C _inst_1 _inst_2 M N f _inst_4) n))) -> (Eq.{succ u2} (Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.cokernel.{u2, u3} C _inst_1 _inst_2 M N f _inst_4) K) g h)
+<too large>
Case conversion may be inaccurate. Consider using '#align category_theory.limits.cokernel_funext CategoryTheory.Limits.cokernel_funextₓ'. -/
-- We don't mark this as an `@[ext]` lemma as we don't always want to work elementwise.
theorem cokernel_funext {C : Type _} [Category C] [HasZeroMorphisms C] [ConcreteCategory C]
@@ -227,10 +209,7 @@ variable {C : Type u} [Category.{v} C] [ConcreteCategory.{v} C] {J : Type v} [Sm
(F : J ⥤ C) [PreservesColimit F (forget C)]
/- warning: category_theory.limits.concrete.from_union_surjective_of_is_colimit -> CategoryTheory.Limits.Concrete.from_union_surjective_of_isColimit is a dubious translation:
-lean 3 declaration is
- forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] [_inst_2 : CategoryTheory.ConcreteCategory.{u1, u1, u2} C _inst_1] {J : Type.{u1}} [_inst_3 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) [_inst_4 : CategoryTheory.Limits.PreservesColimit.{u1, u1, u1, u1, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} J _inst_3 F (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)] {D : CategoryTheory.Limits.Cocone.{u1, u1, u1, u2} J _inst_3 C _inst_1 F}, (CategoryTheory.Limits.IsColimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D) -> (let ff : (Sigma.{u1, u1} J (fun (j : J) => coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j))) -> (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) := fun (a : Sigma.{u1, u1} J (fun (j : J) => coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j))) => coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F (Sigma.fst.{u1, u1} J (fun (j : J) => coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j)) a)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) (Sigma.fst.{u1, u1} J (fun (j : J) => coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j)) a))) (fun (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F (Sigma.fst.{u1, u1} J (fun (j : J) => coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j)) a)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) (Sigma.fst.{u1, u1} J (fun (j : J) => coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j)) a))) => (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F (Sigma.fst.{u1, u1} J (fun (j : J) => coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j)) a))) -> (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) (Sigma.fst.{u1, u1} J (fun (j : J) => coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j)) a)))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u2, u1, u1} C _inst_1 _inst_2 (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F (Sigma.fst.{u1, u1} J (fun (j : J) => coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j)) a)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) (Sigma.fst.{u1, u1} J (fun (j : J) => coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j)) a))) (CategoryTheory.NatTrans.app.{u1, u1, u1, u2} J _inst_3 C _inst_1 F (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) (CategoryTheory.Limits.Cocone.ι.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D) (Sigma.fst.{u1, u1} J (fun (j : J) => coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j)) a)) (Sigma.snd.{u1, u1} J (fun (j : J) => coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j)) a); Function.Surjective.{succ u1, succ u1} (Sigma.{u1, u1} J (fun (j : J) => coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j))) (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) ff)
-but is expected to have type
- forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] [_inst_2 : CategoryTheory.ConcreteCategory.{u1, u1, u2} C _inst_1] {J : Type.{u1}} [_inst_3 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) [_inst_4 : CategoryTheory.Limits.PreservesColimit.{u1, u1, u1, u1, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} J _inst_3 F (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)] {D : CategoryTheory.Limits.Cocone.{u1, u1, u1, u2} J _inst_3 C _inst_1 F}, (CategoryTheory.Limits.IsColimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D) -> (let ff : (Sigma.{u1, u1} J (fun (j : J) => Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j))) -> (Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) := fun (a : Sigma.{u1, u1} J (fun (j : J) => Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j))) => Prefunctor.map.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) (Sigma.fst.{u1, u1} J (fun (j : J) => Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j)) a)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 (Prefunctor.obj.{succ u1, succ u1, u2, max u1 u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D))) (Sigma.fst.{u1, u1} J (fun (j : J) => Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j)) a)) (CategoryTheory.NatTrans.app.{u1, u1, u1, u2} J _inst_3 C _inst_1 F (Prefunctor.obj.{succ u1, succ u1, u2, max u1 u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) (CategoryTheory.Limits.Cocone.ι.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D) (Sigma.fst.{u1, u1} J (fun (j : J) => Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j)) a)) (Sigma.snd.{u1, u1} J (fun (j : J) => Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j)) a); Function.Surjective.{succ u1, succ u1} (Sigma.{u1, u1} J (fun (j : J) => Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j))) (Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) ff)
+<too large>
Case conversion may be inaccurate. Consider using '#align category_theory.limits.concrete.from_union_surjective_of_is_colimit CategoryTheory.Limits.Concrete.from_union_surjective_of_isColimitₓ'. -/
theorem Concrete.from_union_surjective_of_isColimit {D : Cocone F} (hD : IsColimit D) :
let ff : (Σj : J, F.obj j) → D.pt := fun a => D.ι.app a.1 a.2
@@ -261,10 +240,7 @@ theorem Concrete.from_union_surjective_of_isColimit {D : Cocone F} (hD : IsColim
#align category_theory.limits.concrete.from_union_surjective_of_is_colimit CategoryTheory.Limits.Concrete.from_union_surjective_of_isColimit
/- warning: category_theory.limits.concrete.is_colimit_exists_rep -> CategoryTheory.Limits.Concrete.isColimit_exists_rep is a dubious translation:
-lean 3 declaration is
- forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] [_inst_2 : CategoryTheory.ConcreteCategory.{u1, u1, u2} C _inst_1] {J : Type.{u1}} [_inst_3 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) [_inst_4 : CategoryTheory.Limits.PreservesColimit.{u1, u1, u1, u1, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} J _inst_3 F (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)] {D : CategoryTheory.Limits.Cocone.{u1, u1, u1, u2} J _inst_3 C _inst_1 F}, (CategoryTheory.Limits.IsColimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D) -> (forall (x : coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)), Exists.{succ u1} J (fun (j : J) => Exists.{succ u1} (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j)) (fun (y : coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j)) => Eq.{succ u1} (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) j)) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) j)) (fun (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) j)) => (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j)) -> (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) j))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u2, u1, u1} C _inst_1 _inst_2 (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) j)) (CategoryTheory.NatTrans.app.{u1, u1, u1, u2} J _inst_3 C _inst_1 F (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) (CategoryTheory.Limits.Cocone.ι.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D) j) y) x)))
-but is expected to have type
- forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] [_inst_2 : CategoryTheory.ConcreteCategory.{u1, u1, u2} C _inst_1] {J : Type.{u1}} [_inst_3 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) [_inst_4 : CategoryTheory.Limits.PreservesColimit.{u1, u1, u1, u1, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} J _inst_3 F (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)] {D : CategoryTheory.Limits.Cocone.{u1, u1, u1, u2} J _inst_3 C _inst_1 F}, (CategoryTheory.Limits.IsColimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D) -> (forall (x : Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)), Exists.{succ u1} J (fun (j : J) => Exists.{succ u1} (Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j)) (fun (y : Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j)) => Eq.{succ u1} (Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 (Prefunctor.obj.{succ u1, succ u1, u2, max u1 u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D))) j)) (Prefunctor.map.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 (Prefunctor.obj.{succ u1, succ u1, u2, max u1 u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D))) j) (CategoryTheory.NatTrans.app.{u1, u1, u1, u2} J _inst_3 C _inst_1 F (Prefunctor.obj.{succ u1, succ u1, u2, max u1 u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) (CategoryTheory.Limits.Cocone.ι.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D) j) y) x)))
+<too large>
Case conversion may be inaccurate. Consider using '#align category_theory.limits.concrete.is_colimit_exists_rep CategoryTheory.Limits.Concrete.isColimit_exists_repₓ'. -/
theorem Concrete.isColimit_exists_rep {D : Cocone F} (hD : IsColimit D) (x : D.pt) :
∃ (j : J)(y : F.obj j), D.ι.app j y = x :=
@@ -285,10 +261,7 @@ theorem Concrete.colimit_exists_rep [HasColimit F] (x : colimit F) :
#align category_theory.limits.concrete.colimit_exists_rep CategoryTheory.Limits.Concrete.colimit_exists_rep
/- warning: category_theory.limits.concrete.is_colimit_rep_eq_of_exists -> CategoryTheory.Limits.Concrete.isColimit_rep_eq_of_exists is a dubious translation:
-lean 3 declaration is
- forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] [_inst_2 : CategoryTheory.ConcreteCategory.{u1, u1, u2} C _inst_1] {J : Type.{u1}} [_inst_3 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) [_inst_4 : CategoryTheory.Limits.PreservesColimit.{u1, u1, u1, u1, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} J _inst_3 F (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)] {D : CategoryTheory.Limits.Cocone.{u1, u1, u1, u2} J _inst_3 C _inst_1 F} {i : J} {j : J}, (CategoryTheory.Limits.IsColimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D) -> (forall (x : coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i)) (y : coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j)), (Exists.{succ u1} J (fun (k : J) => Exists.{succ u1} (Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) i k) (fun (f : Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) i k) => Exists.{succ u1} (Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) j k) (fun (g : Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) j k) => Eq.{succ u1} (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) (fun (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) => (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i)) -> (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u2, u1, u1} C _inst_1 _inst_2 (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) (CategoryTheory.Functor.map.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i k f) x) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) (fun (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) => (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j)) -> (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u2, u1, u1} C _inst_1 _inst_2 (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) (CategoryTheory.Functor.map.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j k g) y))))) -> (Eq.{succ u1} (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) i)) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) i)) (fun (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) i)) => (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i)) -> (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) i))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u2, u1, u1} C _inst_1 _inst_2 (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) i)) (CategoryTheory.NatTrans.app.{u1, u1, u1, u2} J _inst_3 C _inst_1 F (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) (CategoryTheory.Limits.Cocone.ι.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D) i) x) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) j)) (fun (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) j)) => (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j)) -> (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) j))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u2, u1, u1} C _inst_1 _inst_2 (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) j)) (CategoryTheory.NatTrans.app.{u1, u1, u1, u2} J _inst_3 C _inst_1 F (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) (CategoryTheory.Limits.Cocone.ι.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D) j) y)))
-but is expected to have type
- forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] [_inst_2 : CategoryTheory.ConcreteCategory.{u1, u1, u2} C _inst_1] {J : Type.{u1}} [_inst_3 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) [_inst_4 : CategoryTheory.Limits.PreservesColimit.{u1, u1, u1, u1, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} J _inst_3 F (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)] {D : CategoryTheory.Limits.Cocone.{u1, u1, u1, u2} J _inst_3 C _inst_1 F} {i : J} {j : J}, (CategoryTheory.Limits.IsColimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D) -> (forall (x : Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) i)) (y : Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j)), (Exists.{succ u1} J (fun (k : J) => Exists.{succ u1} (Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) i k) (fun (f : Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) i k) => Exists.{succ u1} (Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) j k) (fun (g : Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) j k) => Eq.{succ u1} (Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) k)) (Prefunctor.map.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) i) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) k) (Prefunctor.map.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) i k f) x) (Prefunctor.map.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) k) (Prefunctor.map.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j k g) y))))) -> (Eq.{succ u1} (Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 (Prefunctor.obj.{succ u1, succ u1, u2, max u1 u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D))) i)) (Prefunctor.map.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) i) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 (Prefunctor.obj.{succ u1, succ u1, u2, max u1 u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D))) i) (CategoryTheory.NatTrans.app.{u1, u1, u1, u2} J _inst_3 C _inst_1 F (Prefunctor.obj.{succ u1, succ u1, u2, max u1 u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) (CategoryTheory.Limits.Cocone.ι.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D) i) x) (Prefunctor.map.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 (Prefunctor.obj.{succ u1, succ u1, u2, max u1 u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D))) j) (CategoryTheory.NatTrans.app.{u1, u1, u1, u2} J _inst_3 C _inst_1 F (Prefunctor.obj.{succ u1, succ u1, u2, max u1 u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) (CategoryTheory.Limits.Cocone.ι.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D) j) y)))
+<too large>
Case conversion may be inaccurate. Consider using '#align category_theory.limits.concrete.is_colimit_rep_eq_of_exists CategoryTheory.Limits.Concrete.isColimit_rep_eq_of_existsₓ'. -/
theorem Concrete.isColimit_rep_eq_of_exists {D : Cocone F} {i j : J} (hD : IsColimit D)
(x : F.obj i) (y : F.obj j) (h : ∃ (k : _)(f : i ⟶ k)(g : j ⟶ k), F.map f x = F.map g y) :
@@ -314,10 +287,7 @@ theorem Concrete.isColimit_rep_eq_of_exists {D : Cocone F} {i j : J} (hD : IsCol
#align category_theory.limits.concrete.is_colimit_rep_eq_of_exists CategoryTheory.Limits.Concrete.isColimit_rep_eq_of_exists
/- warning: category_theory.limits.concrete.colimit_rep_eq_of_exists -> CategoryTheory.Limits.Concrete.colimit_rep_eq_of_exists is a dubious translation:
-lean 3 declaration is
- forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] [_inst_2 : CategoryTheory.ConcreteCategory.{u1, u1, u2} C _inst_1] {J : Type.{u1}} [_inst_3 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) [_inst_4 : CategoryTheory.Limits.PreservesColimit.{u1, u1, u1, u1, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} J _inst_3 F (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)] [_inst_5 : CategoryTheory.Limits.HasColimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F] {i : J} {j : J} (x : coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i)) (y : coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j)), (Exists.{succ u1} J (fun (k : J) => Exists.{succ u1} (Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) i k) (fun (f : Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) i k) => Exists.{succ u1} (Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) j k) (fun (g : Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) j k) => Eq.{succ u1} (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) (fun (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) => (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i)) -> (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u2, u1, u1} C _inst_1 _inst_2 (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) (CategoryTheory.Functor.map.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i k f) x) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) (fun (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) => (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j)) -> (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u2, u1, u1} C _inst_1 _inst_2 (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) (CategoryTheory.Functor.map.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j k g) y))))) -> (Eq.{succ u1} (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_5)) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_5)) (fun (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_5)) => (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i)) -> (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_5))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u2, u1, u1} C _inst_1 _inst_2 (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_5)) (CategoryTheory.Limits.colimit.ι.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_5 i) x) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_5)) (fun (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_5)) => (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j)) -> (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_5))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u2, u1, u1} C _inst_1 _inst_2 (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_5)) (CategoryTheory.Limits.colimit.ι.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_5 j) y))
-but is expected to have type
- forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] [_inst_2 : CategoryTheory.ConcreteCategory.{u1, u1, u2} C _inst_1] {J : Type.{u1}} [_inst_3 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) [_inst_4 : CategoryTheory.Limits.PreservesColimit.{u1, u1, u1, u1, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} J _inst_3 F (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)] [_inst_5 : CategoryTheory.Limits.HasColimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F] {i : J} {j : J} (x : Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) i)) (y : Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j)), (Exists.{succ u1} J (fun (k : J) => Exists.{succ u1} (Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) i k) (fun (f : Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) i k) => Exists.{succ u1} (Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) j k) (fun (g : Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) j k) => Eq.{succ u1} (Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) k)) (Prefunctor.map.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) i) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) k) (Prefunctor.map.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) i k f) x) (Prefunctor.map.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) k) (Prefunctor.map.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j k g) y))))) -> (Eq.{succ u1} (Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_5)) (Prefunctor.map.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) i) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_5) (CategoryTheory.Limits.colimit.ι.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_5 i) x) (Prefunctor.map.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_5) (CategoryTheory.Limits.colimit.ι.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_5 j) y))
+<too large>
Case conversion may be inaccurate. Consider using '#align category_theory.limits.concrete.colimit_rep_eq_of_exists CategoryTheory.Limits.Concrete.colimit_rep_eq_of_existsₓ'. -/
theorem Concrete.colimit_rep_eq_of_exists [HasColimit F] {i j : J} (x : F.obj i) (y : F.obj j)
(h : ∃ (k : _)(f : i ⟶ k)(g : j ⟶ k), F.map f x = F.map g y) :
@@ -330,10 +300,7 @@ section FilteredColimits
variable [IsFiltered J]
/- warning: category_theory.limits.concrete.is_colimit_exists_of_rep_eq -> CategoryTheory.Limits.Concrete.isColimit_exists_of_rep_eq is a dubious translation:
-lean 3 declaration is
- forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] [_inst_2 : CategoryTheory.ConcreteCategory.{u1, u1, u2} C _inst_1] {J : Type.{u1}} [_inst_3 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) [_inst_4 : CategoryTheory.Limits.PreservesColimit.{u1, u1, u1, u1, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} J _inst_3 F (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)] [_inst_5 : CategoryTheory.IsFiltered.{u1, u1} J _inst_3] {D : CategoryTheory.Limits.Cocone.{u1, u1, u1, u2} J _inst_3 C _inst_1 F} {i : J} {j : J}, (CategoryTheory.Limits.IsColimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D) -> (forall (x : coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i)) (y : coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j)), (Eq.{succ u1} (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) i)) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) i)) (fun (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) i)) => (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i)) -> (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) i))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u2, u1, u1} C _inst_1 _inst_2 (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) i)) (CategoryTheory.NatTrans.app.{u1, u1, u1, u2} J _inst_3 C _inst_1 F (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) (CategoryTheory.Limits.Cocone.ι.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D) i) x) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) j)) (fun (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) j)) => (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j)) -> (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) j))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u2, u1, u1} C _inst_1 _inst_2 (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) j)) (CategoryTheory.NatTrans.app.{u1, u1, u1, u2} J _inst_3 C _inst_1 F (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) (CategoryTheory.Limits.Cocone.ι.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D) j) y)) -> (Exists.{succ u1} J (fun (k : J) => Exists.{succ u1} (Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) i k) (fun (f : Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) i k) => Exists.{succ u1} (Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) j k) (fun (g : Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) j k) => Eq.{succ u1} (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) (fun (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) => (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i)) -> (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u2, u1, u1} C _inst_1 _inst_2 (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) (CategoryTheory.Functor.map.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i k f) x) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) (fun (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) => (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j)) -> (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u2, u1, u1} C _inst_1 _inst_2 (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) (CategoryTheory.Functor.map.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j k g) y))))))
-but is expected to have type
- forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] [_inst_2 : CategoryTheory.ConcreteCategory.{u1, u1, u2} C _inst_1] {J : Type.{u1}} [_inst_3 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) [_inst_4 : CategoryTheory.Limits.PreservesColimit.{u1, u1, u1, u1, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} J _inst_3 F (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)] [_inst_5 : CategoryTheory.IsFiltered.{u1, u1} J _inst_3] {D : CategoryTheory.Limits.Cocone.{u1, u1, u1, u2} J _inst_3 C _inst_1 F} {i : J} {j : J}, (CategoryTheory.Limits.IsColimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D) -> (forall (x : Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) i)) (y : Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j)), (Eq.{succ u1} (Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 (Prefunctor.obj.{succ u1, succ u1, u2, max u1 u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D))) i)) (Prefunctor.map.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) i) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 (Prefunctor.obj.{succ u1, succ u1, u2, max u1 u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D))) i) (CategoryTheory.NatTrans.app.{u1, u1, u1, u2} J _inst_3 C _inst_1 F (Prefunctor.obj.{succ u1, succ u1, u2, max u1 u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) (CategoryTheory.Limits.Cocone.ι.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D) i) x) (Prefunctor.map.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 (Prefunctor.obj.{succ u1, succ u1, u2, max u1 u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D))) j) (CategoryTheory.NatTrans.app.{u1, u1, u1, u2} J _inst_3 C _inst_1 F (Prefunctor.obj.{succ u1, succ u1, u2, max u1 u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) (CategoryTheory.Limits.Cocone.ι.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D) j) y)) -> (Exists.{succ u1} J (fun (k : J) => Exists.{succ u1} (Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) i k) (fun (f : Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) i k) => Exists.{succ u1} (Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) j k) (fun (g : Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) j k) => Eq.{succ u1} (Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) k)) (Prefunctor.map.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) i) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) k) (Prefunctor.map.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) i k f) x) (Prefunctor.map.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) k) (Prefunctor.map.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j k g) y))))))
+<too large>
Case conversion may be inaccurate. Consider using '#align category_theory.limits.concrete.is_colimit_exists_of_rep_eq CategoryTheory.Limits.Concrete.isColimit_exists_of_rep_eqₓ'. -/
theorem Concrete.isColimit_exists_of_rep_eq {D : Cocone F} {i j : J} (hD : IsColimit D)
(x : F.obj i) (y : F.obj j) (h : D.ι.app _ x = D.ι.app _ y) :
@@ -378,10 +345,7 @@ theorem Concrete.isColimit_exists_of_rep_eq {D : Cocone F} {i j : J} (hD : IsCol
#align category_theory.limits.concrete.is_colimit_exists_of_rep_eq CategoryTheory.Limits.Concrete.isColimit_exists_of_rep_eq
/- warning: category_theory.limits.concrete.is_colimit_rep_eq_iff_exists -> CategoryTheory.Limits.Concrete.isColimit_rep_eq_iff_exists is a dubious translation:
-lean 3 declaration is
- forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] [_inst_2 : CategoryTheory.ConcreteCategory.{u1, u1, u2} C _inst_1] {J : Type.{u1}} [_inst_3 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) [_inst_4 : CategoryTheory.Limits.PreservesColimit.{u1, u1, u1, u1, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} J _inst_3 F (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)] [_inst_5 : CategoryTheory.IsFiltered.{u1, u1} J _inst_3] {D : CategoryTheory.Limits.Cocone.{u1, u1, u1, u2} J _inst_3 C _inst_1 F} {i : J} {j : J}, (CategoryTheory.Limits.IsColimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D) -> (forall (x : coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i)) (y : coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j)), Iff (Eq.{succ u1} (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) i)) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) i)) (fun (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) i)) => (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i)) -> (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) i))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u2, u1, u1} C _inst_1 _inst_2 (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) i)) (CategoryTheory.NatTrans.app.{u1, u1, u1, u2} J _inst_3 C _inst_1 F (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) (CategoryTheory.Limits.Cocone.ι.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D) i) x) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) j)) (fun (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) j)) => (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j)) -> (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) j))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u2, u1, u1} C _inst_1 _inst_2 (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) j)) (CategoryTheory.NatTrans.app.{u1, u1, u1, u2} J _inst_3 C _inst_1 F (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) (CategoryTheory.Limits.Cocone.ι.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D) j) y)) (Exists.{succ u1} J (fun (k : J) => Exists.{succ u1} (Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) i k) (fun (f : Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) i k) => Exists.{succ u1} (Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) j k) (fun (g : Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) j k) => Eq.{succ u1} (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) (fun (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) => (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i)) -> (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u2, u1, u1} C _inst_1 _inst_2 (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) (CategoryTheory.Functor.map.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i k f) x) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) (fun (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) => (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j)) -> (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u2, u1, u1} C _inst_1 _inst_2 (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) (CategoryTheory.Functor.map.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j k g) y))))))
-but is expected to have type
- forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] [_inst_2 : CategoryTheory.ConcreteCategory.{u1, u1, u2} C _inst_1] {J : Type.{u1}} [_inst_3 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) [_inst_4 : CategoryTheory.Limits.PreservesColimit.{u1, u1, u1, u1, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} J _inst_3 F (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)] [_inst_5 : CategoryTheory.IsFiltered.{u1, u1} J _inst_3] {D : CategoryTheory.Limits.Cocone.{u1, u1, u1, u2} J _inst_3 C _inst_1 F} {i : J} {j : J}, (CategoryTheory.Limits.IsColimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D) -> (forall (x : Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) i)) (y : Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j)), Iff (Eq.{succ u1} (Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 (Prefunctor.obj.{succ u1, succ u1, u2, max u1 u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D))) i)) (Prefunctor.map.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) i) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 (Prefunctor.obj.{succ u1, succ u1, u2, max u1 u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D))) i) (CategoryTheory.NatTrans.app.{u1, u1, u1, u2} J _inst_3 C _inst_1 F (Prefunctor.obj.{succ u1, succ u1, u2, max u1 u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) (CategoryTheory.Limits.Cocone.ι.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D) i) x) (Prefunctor.map.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 (Prefunctor.obj.{succ u1, succ u1, u2, max u1 u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D))) j) (CategoryTheory.NatTrans.app.{u1, u1, u1, u2} J _inst_3 C _inst_1 F (Prefunctor.obj.{succ u1, succ u1, u2, max u1 u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) (CategoryTheory.Limits.Cocone.ι.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D) j) y)) (Exists.{succ u1} J (fun (k : J) => Exists.{succ u1} (Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) i k) (fun (f : Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) i k) => Exists.{succ u1} (Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) j k) (fun (g : Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) j k) => Eq.{succ u1} (Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) k)) (Prefunctor.map.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) i) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) k) (Prefunctor.map.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) i k f) x) (Prefunctor.map.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) k) (Prefunctor.map.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j k g) y))))))
+<too large>
Case conversion may be inaccurate. Consider using '#align category_theory.limits.concrete.is_colimit_rep_eq_iff_exists CategoryTheory.Limits.Concrete.isColimit_rep_eq_iff_existsₓ'. -/
theorem Concrete.isColimit_rep_eq_iff_exists {D : Cocone F} {i j : J} (hD : IsColimit D)
(x : F.obj i) (y : F.obj j) :
@@ -390,10 +354,7 @@ theorem Concrete.isColimit_rep_eq_iff_exists {D : Cocone F} {i j : J} (hD : IsCo
#align category_theory.limits.concrete.is_colimit_rep_eq_iff_exists CategoryTheory.Limits.Concrete.isColimit_rep_eq_iff_exists
/- warning: category_theory.limits.concrete.colimit_exists_of_rep_eq -> CategoryTheory.Limits.Concrete.colimit_exists_of_rep_eq is a dubious translation:
-lean 3 declaration is
- forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] [_inst_2 : CategoryTheory.ConcreteCategory.{u1, u1, u2} C _inst_1] {J : Type.{u1}} [_inst_3 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) [_inst_4 : CategoryTheory.Limits.PreservesColimit.{u1, u1, u1, u1, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} J _inst_3 F (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)] [_inst_5 : CategoryTheory.IsFiltered.{u1, u1} J _inst_3] [_inst_6 : CategoryTheory.Limits.HasColimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F] {i : J} {j : J} (x : coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i)) (y : coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j)), (Eq.{succ u1} (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_6)) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_6)) (fun (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_6)) => (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i)) -> (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_6))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u2, u1, u1} C _inst_1 _inst_2 (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_6)) (CategoryTheory.Limits.colimit.ι.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_6 i) x) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_6)) (fun (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_6)) => (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j)) -> (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_6))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u2, u1, u1} C _inst_1 _inst_2 (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_6)) (CategoryTheory.Limits.colimit.ι.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_6 j) y)) -> (Exists.{succ u1} J (fun (k : J) => Exists.{succ u1} (Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) i k) (fun (f : Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) i k) => Exists.{succ u1} (Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) j k) (fun (g : Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) j k) => Eq.{succ u1} (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) (fun (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) => (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i)) -> (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u2, u1, u1} C _inst_1 _inst_2 (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) (CategoryTheory.Functor.map.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i k f) x) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) (fun (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) => (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j)) -> (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u2, u1, u1} C _inst_1 _inst_2 (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) (CategoryTheory.Functor.map.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j k g) y)))))
-but is expected to have type
- forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] [_inst_2 : CategoryTheory.ConcreteCategory.{u1, u1, u2} C _inst_1] {J : Type.{u1}} [_inst_3 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) [_inst_4 : CategoryTheory.Limits.PreservesColimit.{u1, u1, u1, u1, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} J _inst_3 F (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)] [_inst_5 : CategoryTheory.IsFiltered.{u1, u1} J _inst_3] [_inst_6 : CategoryTheory.Limits.HasColimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F] {i : J} {j : J} (x : Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) i)) (y : Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j)), (Eq.{succ u1} (Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_6)) (Prefunctor.map.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) i) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_6) (CategoryTheory.Limits.colimit.ι.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_6 i) x) (Prefunctor.map.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_6) (CategoryTheory.Limits.colimit.ι.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_6 j) y)) -> (Exists.{succ u1} J (fun (k : J) => Exists.{succ u1} (Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) i k) (fun (f : Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) i k) => Exists.{succ u1} (Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) j k) (fun (g : Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) j k) => Eq.{succ u1} (Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) k)) (Prefunctor.map.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) i) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) k) (Prefunctor.map.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) i k f) x) (Prefunctor.map.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) k) (Prefunctor.map.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j k g) y)))))
+<too large>
Case conversion may be inaccurate. Consider using '#align category_theory.limits.concrete.colimit_exists_of_rep_eq CategoryTheory.Limits.Concrete.colimit_exists_of_rep_eqₓ'. -/
theorem Concrete.colimit_exists_of_rep_eq [HasColimit F] {i j : J} (x : F.obj i) (y : F.obj j)
(h : colimit.ι F _ x = colimit.ι F _ y) :
@@ -402,10 +363,7 @@ theorem Concrete.colimit_exists_of_rep_eq [HasColimit F] {i j : J} (x : F.obj i)
#align category_theory.limits.concrete.colimit_exists_of_rep_eq CategoryTheory.Limits.Concrete.colimit_exists_of_rep_eq
/- warning: category_theory.limits.concrete.colimit_rep_eq_iff_exists -> CategoryTheory.Limits.Concrete.colimit_rep_eq_iff_exists is a dubious translation:
-lean 3 declaration is
- forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] [_inst_2 : CategoryTheory.ConcreteCategory.{u1, u1, u2} C _inst_1] {J : Type.{u1}} [_inst_3 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) [_inst_4 : CategoryTheory.Limits.PreservesColimit.{u1, u1, u1, u1, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} J _inst_3 F (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)] [_inst_5 : CategoryTheory.IsFiltered.{u1, u1} J _inst_3] [_inst_6 : CategoryTheory.Limits.HasColimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F] {i : J} {j : J} (x : coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i)) (y : coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j)), Iff (Eq.{succ u1} (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_6)) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_6)) (fun (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_6)) => (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i)) -> (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_6))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u2, u1, u1} C _inst_1 _inst_2 (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_6)) (CategoryTheory.Limits.colimit.ι.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_6 i) x) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_6)) (fun (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_6)) => (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j)) -> (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_6))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u2, u1, u1} C _inst_1 _inst_2 (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_6)) (CategoryTheory.Limits.colimit.ι.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_6 j) y)) (Exists.{succ u1} J (fun (k : J) => Exists.{succ u1} (Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) i k) (fun (f : Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) i k) => Exists.{succ u1} (Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) j k) (fun (g : Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) j k) => Eq.{succ u1} (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) (fun (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) => (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i)) -> (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u2, u1, u1} C _inst_1 _inst_2 (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) (CategoryTheory.Functor.map.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i k f) x) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) (fun (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) => (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j)) -> (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u2, u1, u1} C _inst_1 _inst_2 (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) (CategoryTheory.Functor.map.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j k g) y)))))
-but is expected to have type
- forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] [_inst_2 : CategoryTheory.ConcreteCategory.{u1, u1, u2} C _inst_1] {J : Type.{u1}} [_inst_3 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) [_inst_4 : CategoryTheory.Limits.PreservesColimit.{u1, u1, u1, u1, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} J _inst_3 F (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)] [_inst_5 : CategoryTheory.IsFiltered.{u1, u1} J _inst_3] [_inst_6 : CategoryTheory.Limits.HasColimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F] {i : J} {j : J} (x : Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) i)) (y : Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j)), Iff (Eq.{succ u1} (Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_6)) (Prefunctor.map.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) i) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_6) (CategoryTheory.Limits.colimit.ι.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_6 i) x) (Prefunctor.map.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_6) (CategoryTheory.Limits.colimit.ι.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_6 j) y)) (Exists.{succ u1} J (fun (k : J) => Exists.{succ u1} (Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) i k) (fun (f : Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) i k) => Exists.{succ u1} (Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) j k) (fun (g : Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) j k) => Eq.{succ u1} (Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) k)) (Prefunctor.map.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) i) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) k) (Prefunctor.map.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) i k f) x) (Prefunctor.map.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) k) (Prefunctor.map.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j k g) y)))))
+<too large>
Case conversion may be inaccurate. Consider using '#align category_theory.limits.concrete.colimit_rep_eq_iff_exists CategoryTheory.Limits.Concrete.colimit_rep_eq_iff_existsₓ'. -/
theorem Concrete.colimit_rep_eq_iff_exists [HasColimit F] {i j : J} (x : F.obj i) (y : F.obj j) :
colimit.ι F i x = colimit.ι F j y ↔ ∃ (k : _)(f : i ⟶ k)(g : j ⟶ k), F.map f x = F.map g y :=
mathlib commit https://github.com/leanprover-community/mathlib/commit/95a87616d63b3cb49d3fe678d416fbe9c4217bf4
@@ -191,7 +191,7 @@ noncomputable def Concrete.multiequalizerEquiv (I : MulticospanIndex.{w} C) [Has
lean 3 declaration is
forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u2, u3} C] [_inst_2 : CategoryTheory.ConcreteCategory.{max u1 u2, u2, u3} C _inst_1] (I : CategoryTheory.Limits.MulticospanIndex.{u1, u2, u3} C _inst_1) [_inst_5 : CategoryTheory.Limits.HasMultiequalizer.{u2, u3, u1} C _inst_1 I] [_inst_6 : CategoryTheory.Limits.PreservesLimit.{u1, u1, u2, max u1 u2, u3, succ (max u1 u2)} C _inst_1 Type.{max u1 u2} CategoryTheory.types.{max u1 u2} (CategoryTheory.Limits.WalkingMulticospan.{u1} (CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.R.{u1, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I)) (CategoryTheory.Limits.WalkingMulticospan.CategoryTheory.smallCategory.{u1} (CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.R.{u1, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I)) (CategoryTheory.Limits.MulticospanIndex.multicospan.{u2, u3, u1} C _inst_1 I) (CategoryTheory.forget.{u3, max u1 u2, u2} C _inst_1 _inst_2)] (x : coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.multiequalizer.{u2, u3, u1} C _inst_1 I _inst_5)) (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), Eq.{succ (max u1 u2)} (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) ((fun (a : Sort.{max 1 (succ u1) (succ (max u1 u2))}) (b : Sort.{max (succ u1) (succ (max u1 u2))}) [self : HasLiftT.{max 1 (succ u1) (succ (max u1 u2)), max (succ u1) (succ (max u1 u2))} a b] => self.0) (Subtype.{max (succ u1) (succ (max u1 u2))} (forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) (fun (x : forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) => forall (i : CategoryTheory.Limits.MulticospanIndex.R.{u1, u2, u3} C _inst_1 I), Eq.{succ (max u1 u2)} (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (coeFn.{succ u2, succ (max u1 u2)} (Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (fun (f : Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) => (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i))) -> (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u3, u2, max u1 u2} C _inst_1 _inst_2 (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.fst.{u1, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i))) (coeFn.{succ u2, succ (max u1 u2)} (Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (fun (f : Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) => (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i))) -> (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u3, u2, max u1 u2} C _inst_1 _inst_2 (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.snd.{u1, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i))))) (forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) (HasLiftT.mk.{max 1 (succ u1) (succ (max u1 u2)), max (succ u1) (succ (max u1 u2))} (Subtype.{max (succ u1) (succ (max u1 u2))} (forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) (fun (x : forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) => forall (i : CategoryTheory.Limits.MulticospanIndex.R.{u1, u2, u3} C _inst_1 I), Eq.{succ (max u1 u2)} (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (coeFn.{succ u2, succ (max u1 u2)} (Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (fun (f : Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) => (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i))) -> (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u3, u2, max u1 u2} C _inst_1 _inst_2 (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.fst.{u1, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i))) (coeFn.{succ u2, succ (max u1 u2)} (Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (fun (f : Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) => (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i))) -> (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u3, u2, max u1 u2} C _inst_1 _inst_2 (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.snd.{u1, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i))))) (forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) (CoeTCₓ.coe.{max 1 (succ u1) (succ (max u1 u2)), max (succ u1) (succ (max u1 u2))} (Subtype.{max (succ u1) (succ (max u1 u2))} (forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) (fun (x : forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) => forall (i : CategoryTheory.Limits.MulticospanIndex.R.{u1, u2, u3} C _inst_1 I), Eq.{succ (max u1 u2)} (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (coeFn.{succ u2, succ (max u1 u2)} (Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (fun (f : Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) => (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i))) -> (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u3, u2, max u1 u2} C _inst_1 _inst_2 (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.fst.{u1, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i))) (coeFn.{succ u2, succ (max u1 u2)} (Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (fun (f : Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) => (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i))) -> (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u3, u2, max u1 u2} C _inst_1 _inst_2 (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.snd.{u1, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i))))) (forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) (coeBase.{max 1 (succ u1) (succ (max u1 u2)), max (succ u1) (succ (max u1 u2))} (Subtype.{max (succ u1) (succ (max u1 u2))} (forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) (fun (x : forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) => forall (i : CategoryTheory.Limits.MulticospanIndex.R.{u1, u2, u3} C _inst_1 I), Eq.{succ (max u1 u2)} (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (coeFn.{succ u2, succ (max u1 u2)} (Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (fun (f : Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) => (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i))) -> (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u3, u2, max u1 u2} C _inst_1 _inst_2 (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.fst.{u1, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i))) (coeFn.{succ u2, succ (max u1 u2)} (Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (fun (f : Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) => (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i))) -> (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u3, u2, max u1 u2} C _inst_1 _inst_2 (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.snd.{u1, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i))))) (forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) (coeSubtype.{max (succ u1) (succ (max u1 u2))} (forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) (fun (x : forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) => forall (i : CategoryTheory.Limits.MulticospanIndex.R.{u1, u2, u3} C _inst_1 I), Eq.{succ (max u1 u2)} (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (coeFn.{succ u2, succ (max u1 u2)} (Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (fun (f : Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) => (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i))) -> (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u3, u2, max u1 u2} C _inst_1 _inst_2 (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.fst.{u1, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i))) (coeFn.{succ u2, succ (max u1 u2)} (Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (fun (f : Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) => (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i))) -> (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u3, u2, max u1 u2} C _inst_1 _inst_2 (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.snd.{u1, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)))))))) (coeFn.{max 1 (max (succ (max u1 u2)) 1 (succ u1) (succ (max u1 u2))) (max 1 (succ u1) (succ (max u1 u2))) (succ (max u1 u2)), max (succ (max u1 u2)) 1 (succ u1) (succ (max u1 u2))} (Equiv.{succ (max u1 u2), max 1 (succ u1) (succ (max u1 u2))} (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.multiequalizer.{u2, u3, u1} C _inst_1 I _inst_5)) (Subtype.{max (succ u1) (succ (max u1 u2))} (forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) (fun (x : forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) => forall (i : CategoryTheory.Limits.MulticospanIndex.R.{u1, u2, u3} C _inst_1 I), Eq.{succ (max u1 u2)} (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (coeFn.{succ u2, succ (max u1 u2)} (Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (fun (f : Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) => (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i))) -> (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u3, u2, max u1 u2} C _inst_1 _inst_2 (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.fst.{u1, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i))) (coeFn.{succ u2, succ (max u1 u2)} (Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (fun (f : Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) => (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i))) -> (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u3, u2, max u1 u2} C _inst_1 _inst_2 (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.snd.{u1, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)))))) (fun (_x : Equiv.{succ (max u1 u2), max 1 (succ u1) (succ (max u1 u2))} (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.multiequalizer.{u2, u3, u1} C _inst_1 I _inst_5)) (Subtype.{max (succ u1) (succ (max u1 u2))} (forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) (fun (x : forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) => forall (i : CategoryTheory.Limits.MulticospanIndex.R.{u1, u2, u3} C _inst_1 I), Eq.{succ (max u1 u2)} (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (coeFn.{succ u2, succ (max u1 u2)} (Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (fun (f : Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) => (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i))) -> (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u3, u2, max u1 u2} C _inst_1 _inst_2 (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.fst.{u1, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i))) (coeFn.{succ u2, succ (max u1 u2)} (Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (fun (f : Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) => (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i))) -> (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u3, u2, max u1 u2} C _inst_1 _inst_2 (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.snd.{u1, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)))))) => (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.multiequalizer.{u2, u3, u1} C _inst_1 I _inst_5)) -> (Subtype.{max (succ u1) (succ (max u1 u2))} (forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) (fun (x : forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) => forall (i : CategoryTheory.Limits.MulticospanIndex.R.{u1, u2, u3} C _inst_1 I), Eq.{succ (max u1 u2)} (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (coeFn.{succ u2, succ (max u1 u2)} (Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (fun (f : Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) => (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i))) -> (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u3, u2, max u1 u2} C _inst_1 _inst_2 (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.fst.{u1, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i))) (coeFn.{succ u2, succ (max u1 u2)} (Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (fun (f : Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) => (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i))) -> (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u3, u2, max u1 u2} C _inst_1 _inst_2 (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.snd.{u1, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)))))) (Equiv.hasCoeToFun.{succ (max u1 u2), max 1 (succ u1) (succ (max u1 u2))} (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.multiequalizer.{u2, u3, u1} C _inst_1 I _inst_5)) (Subtype.{max (succ u1) (succ (max u1 u2))} (forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) (fun (x : forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) => forall (i : CategoryTheory.Limits.MulticospanIndex.R.{u1, u2, u3} C _inst_1 I), Eq.{succ (max u1 u2)} (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (coeFn.{succ u2, succ (max u1 u2)} (Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (fun (f : Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) => (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i))) -> (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u3, u2, max u1 u2} C _inst_1 _inst_2 (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.fst.{u1, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i))) (coeFn.{succ u2, succ (max u1 u2)} (Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (fun (f : Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) => (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i))) -> (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u3, u2, max u1 u2} C _inst_1 _inst_2 (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.snd.{u1, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)))))) (CategoryTheory.Limits.Concrete.multiequalizerEquiv.{u1, u2, u3} C _inst_1 _inst_2 I _inst_5 _inst_6) x) i) (coeFn.{succ u2, succ (max u1 u2)} (Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.multiequalizer.{u2, u3, u1} C _inst_1 I _inst_5) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) (fun (f : Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.multiequalizer.{u2, u3, u1} C _inst_1 I _inst_5) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) => (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.multiequalizer.{u2, u3, u1} C _inst_1 I _inst_5)) -> (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u3, u2, max u1 u2} C _inst_1 _inst_2 (CategoryTheory.Limits.multiequalizer.{u2, u3, u1} C _inst_1 I _inst_5) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.Multiequalizer.ι.{u2, u3, u1} C _inst_1 I _inst_5 i) x)
but is expected to have type
- forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u2, u3} C] [_inst_2 : CategoryTheory.ConcreteCategory.{max u1 u2, u2, u3} C _inst_1] (I : CategoryTheory.Limits.MulticospanIndex.{u1, u2, u3} C _inst_1) [_inst_5 : CategoryTheory.Limits.HasMultiequalizer.{u2, u3, u1} C _inst_1 I] [_inst_6 : CategoryTheory.Limits.PreservesLimit.{u1, u1, u2, max u2 u1, u3, max (succ u2) (succ u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.Limits.WalkingMulticospan.{u1} (CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.R.{u1, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I)) (CategoryTheory.Limits.WalkingMulticospan.instSmallCategoryWalkingMulticospan.{u1} (CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.R.{u1, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I)) (CategoryTheory.Limits.MulticospanIndex.multicospan.{u2, u3, u1} C _inst_1 I) (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)] (x : Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.multiequalizer.{u2, u3, u1} C _inst_1 I _inst_5)) (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), Eq.{max (succ u2) (succ u1)} (Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) (Subtype.val.{max (succ u2) (succ u1)} (forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) (fun (x : forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) => forall (i : CategoryTheory.Limits.MulticospanIndex.R.{u1, u2, u3} C _inst_1 I), Eq.{max (succ u2) (succ u1)} (Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (Prefunctor.map.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i) (CategoryTheory.Limits.MulticospanIndex.fst.{u1, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i))) (Prefunctor.map.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i) (CategoryTheory.Limits.MulticospanIndex.snd.{u1, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)))) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (Equiv.{max (succ u2) (succ u1), max 1 (succ u2) (succ u1)} (Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.multiequalizer.{u2, u3, u1} C _inst_1 I _inst_5)) (Subtype.{max (succ u2) (succ u1)} (forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) (fun (x : forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) => forall (i : CategoryTheory.Limits.MulticospanIndex.R.{u1, u2, u3} C _inst_1 I), Eq.{max (succ u2) (succ u1)} (Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (Prefunctor.map.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i) (CategoryTheory.Limits.MulticospanIndex.fst.{u1, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i))) (Prefunctor.map.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i) (CategoryTheory.Limits.MulticospanIndex.snd.{u1, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)))))) (Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.multiequalizer.{u2, u3, u1} C _inst_1 I _inst_5)) (fun (_x : Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.multiequalizer.{u2, u3, u1} C _inst_1 I _inst_5)) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.multiequalizer.{u2, u3, u1} C _inst_1 I _inst_5)) => Subtype.{max (succ u2) (succ u1)} (forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) (fun (x : forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) => forall (i : CategoryTheory.Limits.MulticospanIndex.R.{u1, u2, u3} C _inst_1 I), Eq.{max (succ u2) (succ u1)} (Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (Prefunctor.map.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i) (CategoryTheory.Limits.MulticospanIndex.fst.{u1, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i))) (Prefunctor.map.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i) (CategoryTheory.Limits.MulticospanIndex.snd.{u1, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i))))) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.multiequalizer.{u2, u3, u1} C _inst_1 I _inst_5)) (Subtype.{max (succ u2) (succ u1)} (forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) (fun (x : forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) => forall (i : CategoryTheory.Limits.MulticospanIndex.R.{u1, u2, u3} C _inst_1 I), Eq.{max (succ u2) (succ u1)} (Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (Prefunctor.map.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i) (CategoryTheory.Limits.MulticospanIndex.fst.{u1, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i))) (Prefunctor.map.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i) (CategoryTheory.Limits.MulticospanIndex.snd.{u1, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)))))) (CategoryTheory.Limits.Concrete.multiequalizerEquiv.{u1, u2, u3} C _inst_1 _inst_2 I _inst_5 _inst_6) x) i) (Prefunctor.map.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.multiequalizer.{u2, u3, u1} C _inst_1 I _inst_5) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i) (CategoryTheory.Limits.Multiequalizer.ι.{u2, u3, u1} C _inst_1 I _inst_5 i) x)
+ forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u2, u3} C] [_inst_2 : CategoryTheory.ConcreteCategory.{max u1 u2, u2, u3} C _inst_1] (I : CategoryTheory.Limits.MulticospanIndex.{u1, u2, u3} C _inst_1) [_inst_5 : CategoryTheory.Limits.HasMultiequalizer.{u2, u3, u1} C _inst_1 I] [_inst_6 : CategoryTheory.Limits.PreservesLimit.{u1, u1, u2, max u2 u1, u3, max (succ u2) (succ u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.Limits.WalkingMulticospan.{u1} (CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.R.{u1, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I)) (CategoryTheory.Limits.WalkingMulticospan.instSmallCategoryWalkingMulticospan.{u1} (CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.R.{u1, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I)) (CategoryTheory.Limits.MulticospanIndex.multicospan.{u2, u3, u1} C _inst_1 I) (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)] (x : Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.multiequalizer.{u2, u3, u1} C _inst_1 I _inst_5)) (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), Eq.{max (succ u2) (succ u1)} (Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) (Subtype.val.{max (succ u2) (succ u1)} (forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) (fun (x : forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) => forall (i : CategoryTheory.Limits.MulticospanIndex.R.{u1, u2, u3} C _inst_1 I), Eq.{max (succ u2) (succ u1)} (Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (Prefunctor.map.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i) (CategoryTheory.Limits.MulticospanIndex.fst.{u1, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i))) (Prefunctor.map.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i) (CategoryTheory.Limits.MulticospanIndex.snd.{u1, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)))) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (Equiv.{max (succ u2) (succ u1), max 1 (succ u2) (succ u1)} (Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.multiequalizer.{u2, u3, u1} C _inst_1 I _inst_5)) (Subtype.{max (succ u2) (succ u1)} (forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) (fun (x : forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) => forall (i : CategoryTheory.Limits.MulticospanIndex.R.{u1, u2, u3} C _inst_1 I), Eq.{max (succ u2) (succ u1)} (Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (Prefunctor.map.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i) (CategoryTheory.Limits.MulticospanIndex.fst.{u1, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i))) (Prefunctor.map.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i) (CategoryTheory.Limits.MulticospanIndex.snd.{u1, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)))))) (Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.multiequalizer.{u2, u3, u1} C _inst_1 I _inst_5)) (fun (_x : Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.multiequalizer.{u2, u3, u1} C _inst_1 I _inst_5)) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.multiequalizer.{u2, u3, u1} C _inst_1 I _inst_5)) => Subtype.{max (succ u2) (succ u1)} (forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) (fun (x : forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) => forall (i : CategoryTheory.Limits.MulticospanIndex.R.{u1, u2, u3} C _inst_1 I), Eq.{max (succ u2) (succ u1)} (Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (Prefunctor.map.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i) (CategoryTheory.Limits.MulticospanIndex.fst.{u1, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i))) (Prefunctor.map.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i) (CategoryTheory.Limits.MulticospanIndex.snd.{u1, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i))))) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.multiequalizer.{u2, u3, u1} C _inst_1 I _inst_5)) (Subtype.{max (succ u2) (succ u1)} (forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) (fun (x : forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) => forall (i : CategoryTheory.Limits.MulticospanIndex.R.{u1, u2, u3} C _inst_1 I), Eq.{max (succ u2) (succ u1)} (Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (Prefunctor.map.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i) (CategoryTheory.Limits.MulticospanIndex.fst.{u1, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i))) (Prefunctor.map.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i) (CategoryTheory.Limits.MulticospanIndex.snd.{u1, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)))))) (CategoryTheory.Limits.Concrete.multiequalizerEquiv.{u1, u2, u3} C _inst_1 _inst_2 I _inst_5 _inst_6) x) i) (Prefunctor.map.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.multiequalizer.{u2, u3, u1} C _inst_1 I _inst_5) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i) (CategoryTheory.Limits.Multiequalizer.ι.{u2, u3, u1} C _inst_1 I _inst_5 i) x)
Case conversion may be inaccurate. Consider using '#align category_theory.limits.concrete.multiequalizer_equiv_apply CategoryTheory.Limits.Concrete.multiequalizerEquiv_applyₓ'. -/
@[simp]
theorem Concrete.multiequalizerEquiv_apply (I : MulticospanIndex.{w} C) [HasMultiequalizer I]
mathlib commit https://github.com/leanprover-community/mathlib/commit/2f8347015b12b0864dfaf366ec4909eb70c78740
@@ -41,7 +41,7 @@ variable {C : Type u} [Category.{v} C] [ConcreteCategory.{max w v} C] {J : Type
lean 3 declaration is
forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u2, u3} C] [_inst_2 : CategoryTheory.ConcreteCategory.{max u1 u2, u2, u3} C _inst_1] {J : Type.{u1}} [_inst_3 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) [_inst_4 : CategoryTheory.Limits.PreservesLimit.{u1, u1, u2, max u1 u2, u3, succ (max u1 u2)} C _inst_1 Type.{max u1 u2} CategoryTheory.types.{max u1 u2} J _inst_3 F (CategoryTheory.forget.{u3, max u1 u2, u2} C _inst_1 _inst_2)] {D : CategoryTheory.Limits.Cone.{u1, u2, u1, u3} J _inst_3 C _inst_1 F}, (CategoryTheory.Limits.IsLimit.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D) -> (Function.Injective.{succ (max u1 u2), max (succ u1) (succ (max u1 u2))} (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.Cone.pt.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D)) (forall (j : J), coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u2, u1, u3} J _inst_3 C _inst_1 F j)) (fun (x : coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.Cone.pt.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D)) (j : J) => coeFn.{succ u2, succ (max u1 u2)} (Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u2, u1, u3} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u2, max u1 u2, u3, max u1 u2 u1 u3} C _inst_1 (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cone.pt.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D)) j) (CategoryTheory.Functor.obj.{u1, u2, u1, u3} J _inst_3 C _inst_1 F j)) (fun (f : Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u2, u1, u3} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u2, max u1 u2, u3, max u1 u2 u1 u3} C _inst_1 (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cone.pt.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D)) j) (CategoryTheory.Functor.obj.{u1, u2, u1, u3} J _inst_3 C _inst_1 F j)) => (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u2, u1, u3} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u2, max u1 u2, u3, max u1 u2 u1 u3} C _inst_1 (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cone.pt.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D)) j)) -> (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u2, u1, u3} J _inst_3 C _inst_1 F j))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u3, u2, max u1 u2} C _inst_1 _inst_2 (CategoryTheory.Functor.obj.{u1, u2, u1, u3} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u2, max u1 u2, u3, max u1 u2 u1 u3} C _inst_1 (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cone.pt.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D)) j) (CategoryTheory.Functor.obj.{u1, u2, u1, u3} J _inst_3 C _inst_1 F j)) (CategoryTheory.NatTrans.app.{u1, u2, u1, u3} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u2, max u1 u2, u3, max u1 u2 u1 u3} C _inst_1 (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cone.pt.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D)) F (CategoryTheory.Limits.Cone.π.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D) j) x))
but is expected to have type
- forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u2, u3} C] [_inst_2 : CategoryTheory.ConcreteCategory.{max u1 u2, u2, u3} C _inst_1] {J : Type.{u1}} [_inst_3 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) [_inst_4 : CategoryTheory.Limits.PreservesLimit.{u1, u1, u2, max u2 u1, u3, max (succ u2) (succ u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} J _inst_3 F (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)] {D : CategoryTheory.Limits.Cone.{u1, u2, u1, u3} J _inst_3 C _inst_1 F}, (CategoryTheory.Limits.IsLimit.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D) -> (Function.Injective.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.ConcreteCategory.Forget.{max u2 u1, u2, u3} C _inst_1 _inst_2)) (CategoryTheory.Limits.Cone.pt.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D)) (forall (j : J), Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u2, u1, u3} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u1, u3} J _inst_3 C _inst_1 F) j)) (fun (x : Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.ConcreteCategory.Forget.{max u2 u1, u2, u3} C _inst_1 _inst_2)) (CategoryTheory.Limits.Cone.pt.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D)) (j : J) => Prefunctor.map.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u2, u1, u3} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u1, u3} J _inst_3 C _inst_1 (Prefunctor.obj.{succ u2, max (succ u1) (succ u2), u3, max (max u1 u2) u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, max (max u1 u3) u2} (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Category.toCategoryStruct.{max u1 u2, max (max u1 u3) u2} (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u2, u1, u3} J _inst_3 C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{u2, max u1 u2, u3, max (max u1 u3) u2} C _inst_1 (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u2, u1, u3} J _inst_3 C _inst_1)) (CategoryTheory.Limits.Cone.pt.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D))) j) (Prefunctor.obj.{succ u1, succ u2, u1, u3} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u1, u3} J _inst_3 C _inst_1 F) j) (CategoryTheory.NatTrans.app.{u1, u2, u1, u3} J _inst_3 C _inst_1 (Prefunctor.obj.{succ u2, max (succ u1) (succ u2), u3, max (max u1 u2) u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, max (max u1 u3) u2} (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Category.toCategoryStruct.{max u1 u2, max (max u1 u3) u2} (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u2, u1, u3} J _inst_3 C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{u2, max u1 u2, u3, max (max u1 u3) u2} C _inst_1 (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u2, u1, u3} J _inst_3 C _inst_1)) (CategoryTheory.Limits.Cone.pt.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D)) F (CategoryTheory.Limits.Cone.π.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D) j) x))
+ forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u2, u3} C] [_inst_2 : CategoryTheory.ConcreteCategory.{max u1 u2, u2, u3} C _inst_1] {J : Type.{u1}} [_inst_3 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) [_inst_4 : CategoryTheory.Limits.PreservesLimit.{u1, u1, u2, max u2 u1, u3, max (succ u2) (succ u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} J _inst_3 F (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)] {D : CategoryTheory.Limits.Cone.{u1, u2, u1, u3} J _inst_3 C _inst_1 F}, (CategoryTheory.Limits.IsLimit.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D) -> (Function.Injective.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.Cone.pt.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D)) (forall (j : J), Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u2, u1, u3} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u1, u3} J _inst_3 C _inst_1 F) j)) (fun (x : Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.Cone.pt.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D)) (j : J) => Prefunctor.map.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u2, u1, u3} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u1, u3} J _inst_3 C _inst_1 (Prefunctor.obj.{succ u2, max (succ u1) (succ u2), u3, max (max u1 u2) u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, max (max u1 u3) u2} (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Category.toCategoryStruct.{max u1 u2, max (max u1 u3) u2} (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u2, u1, u3} J _inst_3 C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{u2, max u1 u2, u3, max (max u1 u3) u2} C _inst_1 (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u2, u1, u3} J _inst_3 C _inst_1)) (CategoryTheory.Limits.Cone.pt.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D))) j) (Prefunctor.obj.{succ u1, succ u2, u1, u3} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u1, u3} J _inst_3 C _inst_1 F) j) (CategoryTheory.NatTrans.app.{u1, u2, u1, u3} J _inst_3 C _inst_1 (Prefunctor.obj.{succ u2, max (succ u1) (succ u2), u3, max (max u1 u2) u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, max (max u1 u3) u2} (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Category.toCategoryStruct.{max u1 u2, max (max u1 u3) u2} (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u2, u1, u3} J _inst_3 C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{u2, max u1 u2, u3, max (max u1 u3) u2} C _inst_1 (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u2, u1, u3} J _inst_3 C _inst_1)) (CategoryTheory.Limits.Cone.pt.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D)) F (CategoryTheory.Limits.Cone.π.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D) j) x))
Case conversion may be inaccurate. Consider using '#align category_theory.limits.concrete.to_product_injective_of_is_limit CategoryTheory.Limits.Concrete.to_product_injective_of_isLimitₓ'. -/
theorem Concrete.to_product_injective_of_isLimit {D : Cone F} (hD : IsLimit D) :
Function.Injective fun (x : D.pt) (j : J) => D.π.app j x :=
@@ -64,7 +64,7 @@ theorem Concrete.to_product_injective_of_isLimit {D : Cone F} (hD : IsLimit D) :
lean 3 declaration is
forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u2, u3} C] [_inst_2 : CategoryTheory.ConcreteCategory.{max u1 u2, u2, u3} C _inst_1] {J : Type.{u1}} [_inst_3 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) [_inst_4 : CategoryTheory.Limits.PreservesLimit.{u1, u1, u2, max u1 u2, u3, succ (max u1 u2)} C _inst_1 Type.{max u1 u2} CategoryTheory.types.{max u1 u2} J _inst_3 F (CategoryTheory.forget.{u3, max u1 u2, u2} C _inst_1 _inst_2)] {D : CategoryTheory.Limits.Cone.{u1, u2, u1, u3} J _inst_3 C _inst_1 F}, (CategoryTheory.Limits.IsLimit.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D) -> (forall (x : coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.Cone.pt.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D)) (y : coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.Cone.pt.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D)), (forall (j : J), Eq.{succ (max u1 u2)} (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u2, u1, u3} J _inst_3 C _inst_1 F j)) (coeFn.{succ u2, succ (max u1 u2)} (Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u2, u1, u3} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u2, max u1 u2, u3, max u1 u2 u1 u3} C _inst_1 (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cone.pt.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D)) j) (CategoryTheory.Functor.obj.{u1, u2, u1, u3} J _inst_3 C _inst_1 F j)) (fun (f : Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u2, u1, u3} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u2, max u1 u2, u3, max u1 u2 u1 u3} C _inst_1 (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cone.pt.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D)) j) (CategoryTheory.Functor.obj.{u1, u2, u1, u3} J _inst_3 C _inst_1 F j)) => (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u2, u1, u3} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u2, max u1 u2, u3, max u1 u2 u1 u3} C _inst_1 (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cone.pt.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D)) j)) -> (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u2, u1, u3} J _inst_3 C _inst_1 F j))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u3, u2, max u1 u2} C _inst_1 _inst_2 (CategoryTheory.Functor.obj.{u1, u2, u1, u3} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u2, max u1 u2, u3, max u1 u2 u1 u3} C _inst_1 (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cone.pt.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D)) j) (CategoryTheory.Functor.obj.{u1, u2, u1, u3} J _inst_3 C _inst_1 F j)) (CategoryTheory.NatTrans.app.{u1, u2, u1, u3} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u2, max u1 u2, u3, max u1 u2 u1 u3} C _inst_1 (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cone.pt.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D)) F (CategoryTheory.Limits.Cone.π.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D) j) x) (coeFn.{succ u2, succ (max u1 u2)} (Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u2, u1, u3} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u2, max u1 u2, u3, max u1 u2 u1 u3} C _inst_1 (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cone.pt.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D)) j) (CategoryTheory.Functor.obj.{u1, u2, u1, u3} J _inst_3 C _inst_1 F j)) (fun (f : Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u2, u1, u3} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u2, max u1 u2, u3, max u1 u2 u1 u3} C _inst_1 (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cone.pt.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D)) j) (CategoryTheory.Functor.obj.{u1, u2, u1, u3} J _inst_3 C _inst_1 F j)) => (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u2, u1, u3} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u2, max u1 u2, u3, max u1 u2 u1 u3} C _inst_1 (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cone.pt.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D)) j)) -> (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u2, u1, u3} J _inst_3 C _inst_1 F j))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u3, u2, max u1 u2} C _inst_1 _inst_2 (CategoryTheory.Functor.obj.{u1, u2, u1, u3} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u2, max u1 u2, u3, max u1 u2 u1 u3} C _inst_1 (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cone.pt.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D)) j) (CategoryTheory.Functor.obj.{u1, u2, u1, u3} J _inst_3 C _inst_1 F j)) (CategoryTheory.NatTrans.app.{u1, u2, u1, u3} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u2, max u1 u2, u3, max u1 u2 u1 u3} C _inst_1 (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cone.pt.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D)) F (CategoryTheory.Limits.Cone.π.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D) j) y)) -> (Eq.{succ (max u1 u2)} (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.Cone.pt.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D)) x y))
but is expected to have type
- forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u2, u3} C] [_inst_2 : CategoryTheory.ConcreteCategory.{max u1 u2, u2, u3} C _inst_1] {J : Type.{u1}} [_inst_3 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) [_inst_4 : CategoryTheory.Limits.PreservesLimit.{u1, u1, u2, max u2 u1, u3, max (succ u2) (succ u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} J _inst_3 F (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)] {D : CategoryTheory.Limits.Cone.{u1, u2, u1, u3} J _inst_3 C _inst_1 F}, (CategoryTheory.Limits.IsLimit.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D) -> (forall (x : Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.ConcreteCategory.Forget.{max u2 u1, u2, u3} C _inst_1 _inst_2)) (CategoryTheory.Limits.Cone.pt.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D)) (y : Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.ConcreteCategory.Forget.{max u2 u1, u2, u3} C _inst_1 _inst_2)) (CategoryTheory.Limits.Cone.pt.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D)), (forall (j : J), Eq.{max (succ u2) (succ u1)} (Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u2, u1, u3} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u1, u3} J _inst_3 C _inst_1 F) j)) (Prefunctor.map.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u2, u1, u3} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u1, u3} J _inst_3 C _inst_1 (Prefunctor.obj.{succ u2, max (succ u1) (succ u2), u3, max (max u1 u2) u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, max (max u1 u3) u2} (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Category.toCategoryStruct.{max u1 u2, max (max u1 u3) u2} (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u2, u1, u3} J _inst_3 C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{u2, max u1 u2, u3, max (max u1 u3) u2} C _inst_1 (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u2, u1, u3} J _inst_3 C _inst_1)) (CategoryTheory.Limits.Cone.pt.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D))) j) (Prefunctor.obj.{succ u1, succ u2, u1, u3} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u1, u3} J _inst_3 C _inst_1 F) j) (CategoryTheory.NatTrans.app.{u1, u2, u1, u3} J _inst_3 C _inst_1 (Prefunctor.obj.{succ u2, max (succ u1) (succ u2), u3, max (max u1 u2) u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, max (max u1 u3) u2} (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Category.toCategoryStruct.{max u1 u2, max (max u1 u3) u2} (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u2, u1, u3} J _inst_3 C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{u2, max u1 u2, u3, max (max u1 u3) u2} C _inst_1 (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u2, u1, u3} J _inst_3 C _inst_1)) (CategoryTheory.Limits.Cone.pt.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D)) F (CategoryTheory.Limits.Cone.π.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D) j) x) (Prefunctor.map.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u2, u1, u3} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u1, u3} J _inst_3 C _inst_1 (Prefunctor.obj.{succ u2, max (succ u1) (succ u2), u3, max (max u1 u2) u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, max (max u1 u3) u2} (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Category.toCategoryStruct.{max u1 u2, max (max u1 u3) u2} (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u2, u1, u3} J _inst_3 C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{u2, max u1 u2, u3, max (max u1 u3) u2} C _inst_1 (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u2, u1, u3} J _inst_3 C _inst_1)) (CategoryTheory.Limits.Cone.pt.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D))) j) (Prefunctor.obj.{succ u1, succ u2, u1, u3} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u1, u3} J _inst_3 C _inst_1 F) j) (CategoryTheory.NatTrans.app.{u1, u2, u1, u3} J _inst_3 C _inst_1 (Prefunctor.obj.{succ u2, max (succ u1) (succ u2), u3, max (max u1 u2) u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, max (max u1 u3) u2} (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Category.toCategoryStruct.{max u1 u2, max (max u1 u3) u2} (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u2, u1, u3} J _inst_3 C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{u2, max u1 u2, u3, max (max u1 u3) u2} C _inst_1 (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u2, u1, u3} J _inst_3 C _inst_1)) (CategoryTheory.Limits.Cone.pt.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D)) F (CategoryTheory.Limits.Cone.π.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D) j) y)) -> (Eq.{max (succ u2) (succ u1)} (Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.ConcreteCategory.Forget.{max u2 u1, u2, u3} C _inst_1 _inst_2)) (CategoryTheory.Limits.Cone.pt.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D)) x y))
+ forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u2, u3} C] [_inst_2 : CategoryTheory.ConcreteCategory.{max u1 u2, u2, u3} C _inst_1] {J : Type.{u1}} [_inst_3 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) [_inst_4 : CategoryTheory.Limits.PreservesLimit.{u1, u1, u2, max u2 u1, u3, max (succ u2) (succ u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} J _inst_3 F (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)] {D : CategoryTheory.Limits.Cone.{u1, u2, u1, u3} J _inst_3 C _inst_1 F}, (CategoryTheory.Limits.IsLimit.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D) -> (forall (x : Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.Cone.pt.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D)) (y : Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.Cone.pt.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D)), (forall (j : J), Eq.{max (succ u2) (succ u1)} (Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u2, u1, u3} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u1, u3} J _inst_3 C _inst_1 F) j)) (Prefunctor.map.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u2, u1, u3} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u1, u3} J _inst_3 C _inst_1 (Prefunctor.obj.{succ u2, max (succ u1) (succ u2), u3, max (max u1 u2) u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, max (max u1 u3) u2} (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Category.toCategoryStruct.{max u1 u2, max (max u1 u3) u2} (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u2, u1, u3} J _inst_3 C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{u2, max u1 u2, u3, max (max u1 u3) u2} C _inst_1 (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u2, u1, u3} J _inst_3 C _inst_1)) (CategoryTheory.Limits.Cone.pt.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D))) j) (Prefunctor.obj.{succ u1, succ u2, u1, u3} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u1, u3} J _inst_3 C _inst_1 F) j) (CategoryTheory.NatTrans.app.{u1, u2, u1, u3} J _inst_3 C _inst_1 (Prefunctor.obj.{succ u2, max (succ u1) (succ u2), u3, max (max u1 u2) u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, max (max u1 u3) u2} (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Category.toCategoryStruct.{max u1 u2, max (max u1 u3) u2} (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u2, u1, u3} J _inst_3 C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{u2, max u1 u2, u3, max (max u1 u3) u2} C _inst_1 (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u2, u1, u3} J _inst_3 C _inst_1)) (CategoryTheory.Limits.Cone.pt.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D)) F (CategoryTheory.Limits.Cone.π.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D) j) x) (Prefunctor.map.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u2, u1, u3} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u1, u3} J _inst_3 C _inst_1 (Prefunctor.obj.{succ u2, max (succ u1) (succ u2), u3, max (max u1 u2) u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, max (max u1 u3) u2} (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Category.toCategoryStruct.{max u1 u2, max (max u1 u3) u2} (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u2, u1, u3} J _inst_3 C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{u2, max u1 u2, u3, max (max u1 u3) u2} C _inst_1 (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u2, u1, u3} J _inst_3 C _inst_1)) (CategoryTheory.Limits.Cone.pt.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D))) j) (Prefunctor.obj.{succ u1, succ u2, u1, u3} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u1, u3} J _inst_3 C _inst_1 F) j) (CategoryTheory.NatTrans.app.{u1, u2, u1, u3} J _inst_3 C _inst_1 (Prefunctor.obj.{succ u2, max (succ u1) (succ u2), u3, max (max u1 u2) u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, max (max u1 u3) u2} (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Category.toCategoryStruct.{max u1 u2, max (max u1 u3) u2} (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u2, u1, u3} J _inst_3 C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{u2, max u1 u2, u3, max (max u1 u3) u2} C _inst_1 (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u2, u1, u3} J _inst_3 C _inst_1)) (CategoryTheory.Limits.Cone.pt.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D)) F (CategoryTheory.Limits.Cone.π.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D) j) y)) -> (Eq.{max (succ u2) (succ u1)} (Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.Cone.pt.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D)) x y))
Case conversion may be inaccurate. Consider using '#align category_theory.limits.concrete.is_limit_ext CategoryTheory.Limits.Concrete.isLimit_extₓ'. -/
theorem Concrete.isLimit_ext {D : Cone F} (hD : IsLimit D) (x y : D.pt) :
(∀ j, D.π.app j x = D.π.app j y) → x = y := fun h =>
@@ -75,7 +75,7 @@ theorem Concrete.isLimit_ext {D : Cone F} (hD : IsLimit D) (x y : D.pt) :
lean 3 declaration is
forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u2, u3} C] [_inst_2 : CategoryTheory.ConcreteCategory.{max u1 u2, u2, u3} C _inst_1] {J : Type.{u1}} [_inst_3 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) [_inst_4 : CategoryTheory.Limits.PreservesLimit.{u1, u1, u2, max u1 u2, u3, succ (max u1 u2)} C _inst_1 Type.{max u1 u2} CategoryTheory.types.{max u1 u2} J _inst_3 F (CategoryTheory.forget.{u3, max u1 u2, u2} C _inst_1 _inst_2)] [_inst_5 : CategoryTheory.Limits.HasLimit.{u1, u1, u2, u3} J _inst_3 C _inst_1 F] (x : coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.limit.{u1, u1, u2, u3} J _inst_3 C _inst_1 F _inst_5)) (y : coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.limit.{u1, u1, u2, u3} J _inst_3 C _inst_1 F _inst_5)), (forall (j : J), Eq.{succ (max u1 u2)} (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u2, u1, u3} J _inst_3 C _inst_1 F j)) (coeFn.{succ u2, succ (max u1 u2)} (Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.limit.{u1, u1, u2, u3} J _inst_3 C _inst_1 F _inst_5) (CategoryTheory.Functor.obj.{u1, u2, u1, u3} J _inst_3 C _inst_1 F j)) (fun (f : Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.limit.{u1, u1, u2, u3} J _inst_3 C _inst_1 F _inst_5) (CategoryTheory.Functor.obj.{u1, u2, u1, u3} J _inst_3 C _inst_1 F j)) => (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.limit.{u1, u1, u2, u3} J _inst_3 C _inst_1 F _inst_5)) -> (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u2, u1, u3} J _inst_3 C _inst_1 F j))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u3, u2, max u1 u2} C _inst_1 _inst_2 (CategoryTheory.Limits.limit.{u1, u1, u2, u3} J _inst_3 C _inst_1 F _inst_5) (CategoryTheory.Functor.obj.{u1, u2, u1, u3} J _inst_3 C _inst_1 F j)) (CategoryTheory.Limits.limit.π.{u1, u1, u2, u3} J _inst_3 C _inst_1 F _inst_5 j) x) (coeFn.{succ u2, succ (max u1 u2)} (Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.limit.{u1, u1, u2, u3} J _inst_3 C _inst_1 F _inst_5) (CategoryTheory.Functor.obj.{u1, u2, u1, u3} J _inst_3 C _inst_1 F j)) (fun (f : Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.limit.{u1, u1, u2, u3} J _inst_3 C _inst_1 F _inst_5) (CategoryTheory.Functor.obj.{u1, u2, u1, u3} J _inst_3 C _inst_1 F j)) => (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.limit.{u1, u1, u2, u3} J _inst_3 C _inst_1 F _inst_5)) -> (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u2, u1, u3} J _inst_3 C _inst_1 F j))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u3, u2, max u1 u2} C _inst_1 _inst_2 (CategoryTheory.Limits.limit.{u1, u1, u2, u3} J _inst_3 C _inst_1 F _inst_5) (CategoryTheory.Functor.obj.{u1, u2, u1, u3} J _inst_3 C _inst_1 F j)) (CategoryTheory.Limits.limit.π.{u1, u1, u2, u3} J _inst_3 C _inst_1 F _inst_5 j) y)) -> (Eq.{succ (max u1 u2)} (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.limit.{u1, u1, u2, u3} J _inst_3 C _inst_1 F _inst_5)) x y)
but is expected to have type
- forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u2, u3} C] [_inst_2 : CategoryTheory.ConcreteCategory.{max u1 u2, u2, u3} C _inst_1] {J : Type.{u1}} [_inst_3 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) [_inst_4 : CategoryTheory.Limits.PreservesLimit.{u1, u1, u2, max u2 u1, u3, max (succ u2) (succ u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} J _inst_3 F (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)] [_inst_5 : CategoryTheory.Limits.HasLimit.{u1, u1, u2, u3} J _inst_3 C _inst_1 F] (x : Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.ConcreteCategory.Forget.{max u2 u1, u2, u3} C _inst_1 _inst_2)) (CategoryTheory.Limits.limit.{u1, u1, u2, u3} J _inst_3 C _inst_1 F _inst_5)) (y : Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.ConcreteCategory.Forget.{max u2 u1, u2, u3} C _inst_1 _inst_2)) (CategoryTheory.Limits.limit.{u1, u1, u2, u3} J _inst_3 C _inst_1 F _inst_5)), (forall (j : J), Eq.{max (succ u2) (succ u1)} (Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u2, u1, u3} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u1, u3} J _inst_3 C _inst_1 F) j)) (Prefunctor.map.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.limit.{u1, u1, u2, u3} J _inst_3 C _inst_1 F _inst_5) (Prefunctor.obj.{succ u1, succ u2, u1, u3} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u1, u3} J _inst_3 C _inst_1 F) j) (CategoryTheory.Limits.limit.π.{u1, u1, u2, u3} J _inst_3 C _inst_1 F _inst_5 j) x) (Prefunctor.map.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.limit.{u1, u1, u2, u3} J _inst_3 C _inst_1 F _inst_5) (Prefunctor.obj.{succ u1, succ u2, u1, u3} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u1, u3} J _inst_3 C _inst_1 F) j) (CategoryTheory.Limits.limit.π.{u1, u1, u2, u3} J _inst_3 C _inst_1 F _inst_5 j) y)) -> (Eq.{max (succ u2) (succ u1)} (Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.ConcreteCategory.Forget.{max u2 u1, u2, u3} C _inst_1 _inst_2)) (CategoryTheory.Limits.limit.{u1, u1, u2, u3} J _inst_3 C _inst_1 F _inst_5)) x y)
+ forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u2, u3} C] [_inst_2 : CategoryTheory.ConcreteCategory.{max u1 u2, u2, u3} C _inst_1] {J : Type.{u1}} [_inst_3 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) [_inst_4 : CategoryTheory.Limits.PreservesLimit.{u1, u1, u2, max u2 u1, u3, max (succ u2) (succ u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} J _inst_3 F (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)] [_inst_5 : CategoryTheory.Limits.HasLimit.{u1, u1, u2, u3} J _inst_3 C _inst_1 F] (x : Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.limit.{u1, u1, u2, u3} J _inst_3 C _inst_1 F _inst_5)) (y : Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.limit.{u1, u1, u2, u3} J _inst_3 C _inst_1 F _inst_5)), (forall (j : J), Eq.{max (succ u2) (succ u1)} (Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u2, u1, u3} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u1, u3} J _inst_3 C _inst_1 F) j)) (Prefunctor.map.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.limit.{u1, u1, u2, u3} J _inst_3 C _inst_1 F _inst_5) (Prefunctor.obj.{succ u1, succ u2, u1, u3} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u1, u3} J _inst_3 C _inst_1 F) j) (CategoryTheory.Limits.limit.π.{u1, u1, u2, u3} J _inst_3 C _inst_1 F _inst_5 j) x) (Prefunctor.map.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.limit.{u1, u1, u2, u3} J _inst_3 C _inst_1 F _inst_5) (Prefunctor.obj.{succ u1, succ u2, u1, u3} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u1, u3} J _inst_3 C _inst_1 F) j) (CategoryTheory.Limits.limit.π.{u1, u1, u2, u3} J _inst_3 C _inst_1 F _inst_5 j) y)) -> (Eq.{max (succ u2) (succ u1)} (Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.limit.{u1, u1, u2, u3} J _inst_3 C _inst_1 F _inst_5)) x y)
Case conversion may be inaccurate. Consider using '#align category_theory.limits.concrete.limit_ext CategoryTheory.Limits.Concrete.limit_extₓ'. -/
theorem Concrete.limit_ext [HasLimit F] (x y : limit F) :
(∀ j, limit.π F j x = limit.π F j y) → x = y :=
@@ -132,7 +132,7 @@ theorem Concrete.multiequalizer_ext {I : MulticospanIndex.{w} C} [HasMultiequali
lean 3 declaration is
forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u2, u3} C] [_inst_2 : CategoryTheory.ConcreteCategory.{max u1 u2, u2, u3} C _inst_1] (I : CategoryTheory.Limits.MulticospanIndex.{u4, u2, u3} C _inst_1), Equiv.{succ (max u4 u1 u2), max 1 (succ u4) (succ (max u1 u2))} (coeSort.{succ (max u4 u1 u2), succ (succ (max u4 u1 u2))} (Set.{max u4 u1 u2} (forall (j : CategoryTheory.Limits.WalkingMulticospan.{u4} (CategoryTheory.Limits.MulticospanIndex.L.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.R.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.fstTo.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.sndTo.{u4, u2, u3} C _inst_1 I)), CategoryTheory.Functor.obj.{u4, max u1 u2, u4, succ (max u1 u2)} (CategoryTheory.Limits.WalkingMulticospan.{u4} (CategoryTheory.Limits.MulticospanIndex.L.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.R.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.fstTo.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.sndTo.{u4, u2, u3} C _inst_1 I)) (CategoryTheory.Limits.WalkingMulticospan.CategoryTheory.smallCategory.{u4} (CategoryTheory.Limits.MulticospanIndex.L.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.R.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.fstTo.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.sndTo.{u4, u2, u3} C _inst_1 I)) Type.{max u1 u2} CategoryTheory.types.{max u1 u2} (CategoryTheory.Functor.comp.{u4, u2, max u1 u2, u4, u3, succ (max u1 u2)} (CategoryTheory.Limits.WalkingMulticospan.{u4} (CategoryTheory.Limits.MulticospanIndex.L.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.R.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.fstTo.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.sndTo.{u4, u2, u3} C _inst_1 I)) (CategoryTheory.Limits.WalkingMulticospan.CategoryTheory.smallCategory.{u4} (CategoryTheory.Limits.MulticospanIndex.L.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.R.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.fstTo.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.sndTo.{u4, u2, u3} C _inst_1 I)) C _inst_1 Type.{max u1 u2} CategoryTheory.types.{max u1 u2} (CategoryTheory.Limits.MulticospanIndex.multicospan.{u2, u3, u4} C _inst_1 I) (CategoryTheory.forget.{u3, max u1 u2, u2} C _inst_1 _inst_2)) j)) Type.{max u4 u1 u2} (Set.hasCoeToSort.{max u4 u1 u2} (forall (j : CategoryTheory.Limits.WalkingMulticospan.{u4} (CategoryTheory.Limits.MulticospanIndex.L.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.R.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.fstTo.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.sndTo.{u4, u2, u3} C _inst_1 I)), CategoryTheory.Functor.obj.{u4, max u1 u2, u4, succ (max u1 u2)} (CategoryTheory.Limits.WalkingMulticospan.{u4} (CategoryTheory.Limits.MulticospanIndex.L.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.R.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.fstTo.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.sndTo.{u4, u2, u3} C _inst_1 I)) (CategoryTheory.Limits.WalkingMulticospan.CategoryTheory.smallCategory.{u4} (CategoryTheory.Limits.MulticospanIndex.L.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.R.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.fstTo.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.sndTo.{u4, u2, u3} C _inst_1 I)) Type.{max u1 u2} CategoryTheory.types.{max u1 u2} (CategoryTheory.Functor.comp.{u4, u2, max u1 u2, u4, u3, succ (max u1 u2)} (CategoryTheory.Limits.WalkingMulticospan.{u4} (CategoryTheory.Limits.MulticospanIndex.L.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.R.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.fstTo.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.sndTo.{u4, u2, u3} C _inst_1 I)) (CategoryTheory.Limits.WalkingMulticospan.CategoryTheory.smallCategory.{u4} (CategoryTheory.Limits.MulticospanIndex.L.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.R.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.fstTo.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.sndTo.{u4, u2, u3} C _inst_1 I)) C _inst_1 Type.{max u1 u2} CategoryTheory.types.{max u1 u2} (CategoryTheory.Limits.MulticospanIndex.multicospan.{u2, u3, u4} C _inst_1 I) (CategoryTheory.forget.{u3, max u1 u2, u2} C _inst_1 _inst_2)) j)) (CategoryTheory.Functor.sections.{u4, max u1 u2, u4} (CategoryTheory.Limits.WalkingMulticospan.{u4} (CategoryTheory.Limits.MulticospanIndex.L.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.R.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.fstTo.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.sndTo.{u4, u2, u3} C _inst_1 I)) (CategoryTheory.Limits.WalkingMulticospan.CategoryTheory.smallCategory.{u4} (CategoryTheory.Limits.MulticospanIndex.L.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.R.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.fstTo.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.sndTo.{u4, u2, u3} C _inst_1 I)) (CategoryTheory.Functor.comp.{u4, u2, max u1 u2, u4, u3, succ (max u1 u2)} (CategoryTheory.Limits.WalkingMulticospan.{u4} (CategoryTheory.Limits.MulticospanIndex.L.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.R.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.fstTo.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.sndTo.{u4, u2, u3} C _inst_1 I)) (CategoryTheory.Limits.WalkingMulticospan.CategoryTheory.smallCategory.{u4} (CategoryTheory.Limits.MulticospanIndex.L.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.R.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.fstTo.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.sndTo.{u4, u2, u3} C _inst_1 I)) C _inst_1 Type.{max u1 u2} CategoryTheory.types.{max u1 u2} (CategoryTheory.Limits.MulticospanIndex.multicospan.{u2, u3, u4} C _inst_1 I) (CategoryTheory.forget.{u3, max u1 u2, u2} C _inst_1 _inst_2)))) (Subtype.{max (succ u4) (succ (max u1 u2))} (forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u4, u2, u3} C _inst_1 I), coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u4, u2, u3} C _inst_1 I i)) (fun (x : forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u4, u2, u3} C _inst_1 I), coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u4, u2, u3} C _inst_1 I i)) => forall (i : CategoryTheory.Limits.MulticospanIndex.R.{u4, u2, u3} C _inst_1 I), Eq.{succ (max u1 u2)} (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.right.{u4, u2, u3} C _inst_1 I i)) (coeFn.{succ u2, succ (max u1 u2)} (Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u4, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u4, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u4, u2, u3} C _inst_1 I i)) (fun (f : Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u4, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u4, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u4, u2, u3} C _inst_1 I i)) => (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u4, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u4, u2, u3} C _inst_1 I i))) -> (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.right.{u4, u2, u3} C _inst_1 I i))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u3, u2, max u1 u2} C _inst_1 _inst_2 (CategoryTheory.Limits.MulticospanIndex.left.{u4, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u4, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u4, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.fst.{u4, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.fstTo.{u4, u2, u3} C _inst_1 I i))) (coeFn.{succ u2, succ (max u1 u2)} (Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u4, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u4, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u4, u2, u3} C _inst_1 I i)) (fun (f : Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u4, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u4, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u4, u2, u3} C _inst_1 I i)) => (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u4, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u4, u2, u3} C _inst_1 I i))) -> (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.right.{u4, u2, u3} C _inst_1 I i))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u3, u2, max u1 u2} C _inst_1 _inst_2 (CategoryTheory.Limits.MulticospanIndex.left.{u4, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u4, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u4, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.snd.{u4, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.sndTo.{u4, u2, u3} C _inst_1 I i)))))
but is expected to have type
- forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u2, u3} C] [_inst_2 : CategoryTheory.ConcreteCategory.{max u1 u2, u2, u3} C _inst_1] (I : CategoryTheory.Limits.MulticospanIndex.{u4, u2, u3} C _inst_1), Equiv.{max (max (succ u2) (succ u1)) (succ u4), max 1 (max (succ u2) (succ u1)) (succ u4)} (Set.Elem.{max (max u2 u1) u4} (forall (j : CategoryTheory.Limits.WalkingMulticospan.{u4} (CategoryTheory.Limits.MulticospanIndex.L.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.R.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.fstTo.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.sndTo.{u4, u2, u3} C _inst_1 I)), Prefunctor.obj.{succ u4, succ (max u2 u1), u4, succ (max u2 u1)} (CategoryTheory.Limits.WalkingMulticospan.{u4} (CategoryTheory.Limits.MulticospanIndex.L.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.R.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.fstTo.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.sndTo.{u4, u2, u3} C _inst_1 I)) (CategoryTheory.CategoryStruct.toQuiver.{u4, u4} (CategoryTheory.Limits.WalkingMulticospan.{u4} (CategoryTheory.Limits.MulticospanIndex.L.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.R.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.fstTo.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.sndTo.{u4, u2, u3} C _inst_1 I)) (CategoryTheory.Category.toCategoryStruct.{u4, u4} (CategoryTheory.Limits.WalkingMulticospan.{u4} (CategoryTheory.Limits.MulticospanIndex.L.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.R.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.fstTo.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.sndTo.{u4, u2, u3} C _inst_1 I)) (CategoryTheory.Limits.WalkingMulticospan.instSmallCategoryWalkingMulticospan.{u4} (CategoryTheory.Limits.MulticospanIndex.L.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.R.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.fstTo.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.sndTo.{u4, u2, u3} C _inst_1 I)))) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u4, max u2 u1, u4, succ (max u2 u1)} (CategoryTheory.Limits.WalkingMulticospan.{u4} (CategoryTheory.Limits.MulticospanIndex.L.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.R.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.fstTo.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.sndTo.{u4, u2, u3} C _inst_1 I)) (CategoryTheory.Limits.WalkingMulticospan.instSmallCategoryWalkingMulticospan.{u4} (CategoryTheory.Limits.MulticospanIndex.L.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.R.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.fstTo.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.sndTo.{u4, u2, u3} C _inst_1 I)) Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.Functor.comp.{u4, u2, max u2 u1, u4, u3, max (succ u2) (succ u1)} (CategoryTheory.Limits.WalkingMulticospan.{u4} (CategoryTheory.Limits.MulticospanIndex.L.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.R.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.fstTo.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.sndTo.{u4, u2, u3} C _inst_1 I)) (CategoryTheory.Limits.WalkingMulticospan.instSmallCategoryWalkingMulticospan.{u4} (CategoryTheory.Limits.MulticospanIndex.L.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.R.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.fstTo.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.sndTo.{u4, u2, u3} C _inst_1 I)) C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.Limits.MulticospanIndex.multicospan.{u2, u3, u4} C _inst_1 I) (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2))) j) (CategoryTheory.Functor.sections.{u4, max u2 u1, u4} (CategoryTheory.Limits.WalkingMulticospan.{u4} (CategoryTheory.Limits.MulticospanIndex.L.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.R.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.fstTo.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.sndTo.{u4, u2, u3} C _inst_1 I)) (CategoryTheory.Limits.WalkingMulticospan.instSmallCategoryWalkingMulticospan.{u4} (CategoryTheory.Limits.MulticospanIndex.L.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.R.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.fstTo.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.sndTo.{u4, u2, u3} C _inst_1 I)) (CategoryTheory.Functor.comp.{u4, u2, max u2 u1, u4, u3, max (succ u2) (succ u1)} (CategoryTheory.Limits.WalkingMulticospan.{u4} (CategoryTheory.Limits.MulticospanIndex.L.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.R.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.fstTo.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.sndTo.{u4, u2, u3} C _inst_1 I)) (CategoryTheory.Limits.WalkingMulticospan.instSmallCategoryWalkingMulticospan.{u4} (CategoryTheory.Limits.MulticospanIndex.L.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.R.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.fstTo.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.sndTo.{u4, u2, u3} C _inst_1 I)) C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.Limits.MulticospanIndex.multicospan.{u2, u3, u4} C _inst_1 I) (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)))) (Subtype.{max (max (succ u2) (succ u1)) (succ u4)} (forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u4, u2, u3} C _inst_1 I), Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.ConcreteCategory.Forget.{max u2 u1, u2, u3} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.left.{u4, u2, u3} C _inst_1 I i)) (fun (x : forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u4, u2, u3} C _inst_1 I), Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.ConcreteCategory.Forget.{max u2 u1, u2, u3} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.left.{u4, u2, u3} C _inst_1 I i)) => forall (i : CategoryTheory.Limits.MulticospanIndex.R.{u4, u2, u3} C _inst_1 I), Eq.{max (succ u2) (succ u1)} (Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.right.{u4, u2, u3} C _inst_1 I i)) (Prefunctor.map.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.left.{u4, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u4, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u4, u2, u3} C _inst_1 I i) (CategoryTheory.Limits.MulticospanIndex.fst.{u4, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.fstTo.{u4, u2, u3} C _inst_1 I i))) (Prefunctor.map.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.left.{u4, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u4, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u4, u2, u3} C _inst_1 I i) (CategoryTheory.Limits.MulticospanIndex.snd.{u4, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.sndTo.{u4, u2, u3} C _inst_1 I i)))))
+ forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u2, u3} C] [_inst_2 : CategoryTheory.ConcreteCategory.{max u1 u2, u2, u3} C _inst_1] (I : CategoryTheory.Limits.MulticospanIndex.{u4, u2, u3} C _inst_1), Equiv.{max (max (succ u2) (succ u1)) (succ u4), max 1 (max (succ u2) (succ u1)) (succ u4)} (Set.Elem.{max (max u2 u1) u4} (forall (j : CategoryTheory.Limits.WalkingMulticospan.{u4} (CategoryTheory.Limits.MulticospanIndex.L.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.R.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.fstTo.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.sndTo.{u4, u2, u3} C _inst_1 I)), Prefunctor.obj.{succ u4, succ (max u2 u1), u4, succ (max u2 u1)} (CategoryTheory.Limits.WalkingMulticospan.{u4} (CategoryTheory.Limits.MulticospanIndex.L.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.R.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.fstTo.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.sndTo.{u4, u2, u3} C _inst_1 I)) (CategoryTheory.CategoryStruct.toQuiver.{u4, u4} (CategoryTheory.Limits.WalkingMulticospan.{u4} (CategoryTheory.Limits.MulticospanIndex.L.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.R.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.fstTo.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.sndTo.{u4, u2, u3} C _inst_1 I)) (CategoryTheory.Category.toCategoryStruct.{u4, u4} (CategoryTheory.Limits.WalkingMulticospan.{u4} (CategoryTheory.Limits.MulticospanIndex.L.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.R.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.fstTo.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.sndTo.{u4, u2, u3} C _inst_1 I)) (CategoryTheory.Limits.WalkingMulticospan.instSmallCategoryWalkingMulticospan.{u4} (CategoryTheory.Limits.MulticospanIndex.L.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.R.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.fstTo.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.sndTo.{u4, u2, u3} C _inst_1 I)))) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u4, max u2 u1, u4, succ (max u2 u1)} (CategoryTheory.Limits.WalkingMulticospan.{u4} (CategoryTheory.Limits.MulticospanIndex.L.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.R.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.fstTo.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.sndTo.{u4, u2, u3} C _inst_1 I)) (CategoryTheory.Limits.WalkingMulticospan.instSmallCategoryWalkingMulticospan.{u4} (CategoryTheory.Limits.MulticospanIndex.L.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.R.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.fstTo.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.sndTo.{u4, u2, u3} C _inst_1 I)) Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.Functor.comp.{u4, u2, max u2 u1, u4, u3, max (succ u2) (succ u1)} (CategoryTheory.Limits.WalkingMulticospan.{u4} (CategoryTheory.Limits.MulticospanIndex.L.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.R.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.fstTo.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.sndTo.{u4, u2, u3} C _inst_1 I)) (CategoryTheory.Limits.WalkingMulticospan.instSmallCategoryWalkingMulticospan.{u4} (CategoryTheory.Limits.MulticospanIndex.L.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.R.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.fstTo.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.sndTo.{u4, u2, u3} C _inst_1 I)) C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.Limits.MulticospanIndex.multicospan.{u2, u3, u4} C _inst_1 I) (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2))) j) (CategoryTheory.Functor.sections.{u4, max u2 u1, u4} (CategoryTheory.Limits.WalkingMulticospan.{u4} (CategoryTheory.Limits.MulticospanIndex.L.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.R.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.fstTo.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.sndTo.{u4, u2, u3} C _inst_1 I)) (CategoryTheory.Limits.WalkingMulticospan.instSmallCategoryWalkingMulticospan.{u4} (CategoryTheory.Limits.MulticospanIndex.L.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.R.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.fstTo.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.sndTo.{u4, u2, u3} C _inst_1 I)) (CategoryTheory.Functor.comp.{u4, u2, max u2 u1, u4, u3, max (succ u2) (succ u1)} (CategoryTheory.Limits.WalkingMulticospan.{u4} (CategoryTheory.Limits.MulticospanIndex.L.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.R.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.fstTo.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.sndTo.{u4, u2, u3} C _inst_1 I)) (CategoryTheory.Limits.WalkingMulticospan.instSmallCategoryWalkingMulticospan.{u4} (CategoryTheory.Limits.MulticospanIndex.L.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.R.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.fstTo.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.sndTo.{u4, u2, u3} C _inst_1 I)) C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.Limits.MulticospanIndex.multicospan.{u2, u3, u4} C _inst_1 I) (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)))) (Subtype.{max (max (succ u2) (succ u1)) (succ u4)} (forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u4, u2, u3} C _inst_1 I), Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.left.{u4, u2, u3} C _inst_1 I i)) (fun (x : forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u4, u2, u3} C _inst_1 I), Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.left.{u4, u2, u3} C _inst_1 I i)) => forall (i : CategoryTheory.Limits.MulticospanIndex.R.{u4, u2, u3} C _inst_1 I), Eq.{max (succ u2) (succ u1)} (Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.right.{u4, u2, u3} C _inst_1 I i)) (Prefunctor.map.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.left.{u4, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u4, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u4, u2, u3} C _inst_1 I i) (CategoryTheory.Limits.MulticospanIndex.fst.{u4, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.fstTo.{u4, u2, u3} C _inst_1 I i))) (Prefunctor.map.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.left.{u4, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u4, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u4, u2, u3} C _inst_1 I i) (CategoryTheory.Limits.MulticospanIndex.snd.{u4, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.sndTo.{u4, u2, u3} C _inst_1 I i)))))
Case conversion may be inaccurate. Consider using '#align category_theory.limits.concrete.multiequalizer_equiv_aux CategoryTheory.Limits.Concrete.multiequalizerEquivAuxₓ'. -/
/-- An auxiliary equivalence to be used in `multiequalizer_equiv` below.-/
def Concrete.multiequalizerEquivAux (I : MulticospanIndex C) :
@@ -191,7 +191,7 @@ noncomputable def Concrete.multiequalizerEquiv (I : MulticospanIndex.{w} C) [Has
lean 3 declaration is
forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u2, u3} C] [_inst_2 : CategoryTheory.ConcreteCategory.{max u1 u2, u2, u3} C _inst_1] (I : CategoryTheory.Limits.MulticospanIndex.{u1, u2, u3} C _inst_1) [_inst_5 : CategoryTheory.Limits.HasMultiequalizer.{u2, u3, u1} C _inst_1 I] [_inst_6 : CategoryTheory.Limits.PreservesLimit.{u1, u1, u2, max u1 u2, u3, succ (max u1 u2)} C _inst_1 Type.{max u1 u2} CategoryTheory.types.{max u1 u2} (CategoryTheory.Limits.WalkingMulticospan.{u1} (CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.R.{u1, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I)) (CategoryTheory.Limits.WalkingMulticospan.CategoryTheory.smallCategory.{u1} (CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.R.{u1, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I)) (CategoryTheory.Limits.MulticospanIndex.multicospan.{u2, u3, u1} C _inst_1 I) (CategoryTheory.forget.{u3, max u1 u2, u2} C _inst_1 _inst_2)] (x : coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.multiequalizer.{u2, u3, u1} C _inst_1 I _inst_5)) (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), Eq.{succ (max u1 u2)} (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) ((fun (a : Sort.{max 1 (succ u1) (succ (max u1 u2))}) (b : Sort.{max (succ u1) (succ (max u1 u2))}) [self : HasLiftT.{max 1 (succ u1) (succ (max u1 u2)), max (succ u1) (succ (max u1 u2))} a b] => self.0) (Subtype.{max (succ u1) (succ (max u1 u2))} (forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) (fun (x : forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) => forall (i : CategoryTheory.Limits.MulticospanIndex.R.{u1, u2, u3} C _inst_1 I), Eq.{succ (max u1 u2)} (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (coeFn.{succ u2, succ (max u1 u2)} (Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (fun (f : Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) => (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i))) -> (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u3, u2, max u1 u2} C _inst_1 _inst_2 (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.fst.{u1, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i))) (coeFn.{succ u2, succ (max u1 u2)} (Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (fun (f : Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) => (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i))) -> (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u3, u2, max u1 u2} C _inst_1 _inst_2 (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.snd.{u1, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i))))) (forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) (HasLiftT.mk.{max 1 (succ u1) (succ (max u1 u2)), max (succ u1) (succ (max u1 u2))} (Subtype.{max (succ u1) (succ (max u1 u2))} (forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) (fun (x : forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) => forall (i : CategoryTheory.Limits.MulticospanIndex.R.{u1, u2, u3} C _inst_1 I), Eq.{succ (max u1 u2)} (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (coeFn.{succ u2, succ (max u1 u2)} (Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (fun (f : Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) => (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i))) -> (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u3, u2, max u1 u2} C _inst_1 _inst_2 (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.fst.{u1, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i))) (coeFn.{succ u2, succ (max u1 u2)} (Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (fun (f : Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) => (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i))) -> (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u3, u2, max u1 u2} C _inst_1 _inst_2 (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.snd.{u1, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i))))) (forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) (CoeTCₓ.coe.{max 1 (succ u1) (succ (max u1 u2)), max (succ u1) (succ (max u1 u2))} (Subtype.{max (succ u1) (succ (max u1 u2))} (forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) (fun (x : forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) => forall (i : CategoryTheory.Limits.MulticospanIndex.R.{u1, u2, u3} C _inst_1 I), Eq.{succ (max u1 u2)} (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (coeFn.{succ u2, succ (max u1 u2)} (Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (fun (f : Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) => (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i))) -> (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u3, u2, max u1 u2} C _inst_1 _inst_2 (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.fst.{u1, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i))) (coeFn.{succ u2, succ (max u1 u2)} (Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (fun (f : Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) => (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i))) -> (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u3, u2, max u1 u2} C _inst_1 _inst_2 (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.snd.{u1, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i))))) (forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) (coeBase.{max 1 (succ u1) (succ (max u1 u2)), max (succ u1) (succ (max u1 u2))} (Subtype.{max (succ u1) (succ (max u1 u2))} (forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) (fun (x : forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) => forall (i : CategoryTheory.Limits.MulticospanIndex.R.{u1, u2, u3} C _inst_1 I), Eq.{succ (max u1 u2)} (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (coeFn.{succ u2, succ (max u1 u2)} (Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (fun (f : Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) => (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i))) -> (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u3, u2, max u1 u2} C _inst_1 _inst_2 (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.fst.{u1, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i))) (coeFn.{succ u2, succ (max u1 u2)} (Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (fun (f : Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) => (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i))) -> (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u3, u2, max u1 u2} C _inst_1 _inst_2 (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.snd.{u1, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i))))) (forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) (coeSubtype.{max (succ u1) (succ (max u1 u2))} (forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) (fun (x : forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) => forall (i : CategoryTheory.Limits.MulticospanIndex.R.{u1, u2, u3} C _inst_1 I), Eq.{succ (max u1 u2)} (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (coeFn.{succ u2, succ (max u1 u2)} (Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (fun (f : Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) => (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i))) -> (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u3, u2, max u1 u2} C _inst_1 _inst_2 (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.fst.{u1, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i))) (coeFn.{succ u2, succ (max u1 u2)} (Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (fun (f : Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) => (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i))) -> (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u3, u2, max u1 u2} C _inst_1 _inst_2 (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.snd.{u1, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)))))))) (coeFn.{max 1 (max (succ (max u1 u2)) 1 (succ u1) (succ (max u1 u2))) (max 1 (succ u1) (succ (max u1 u2))) (succ (max u1 u2)), max (succ (max u1 u2)) 1 (succ u1) (succ (max u1 u2))} (Equiv.{succ (max u1 u2), max 1 (succ u1) (succ (max u1 u2))} (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.multiequalizer.{u2, u3, u1} C _inst_1 I _inst_5)) (Subtype.{max (succ u1) (succ (max u1 u2))} (forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) (fun (x : forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) => forall (i : CategoryTheory.Limits.MulticospanIndex.R.{u1, u2, u3} C _inst_1 I), Eq.{succ (max u1 u2)} (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (coeFn.{succ u2, succ (max u1 u2)} (Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (fun (f : Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) => (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i))) -> (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u3, u2, max u1 u2} C _inst_1 _inst_2 (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.fst.{u1, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i))) (coeFn.{succ u2, succ (max u1 u2)} (Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (fun (f : Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) => (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i))) -> (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u3, u2, max u1 u2} C _inst_1 _inst_2 (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.snd.{u1, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)))))) (fun (_x : Equiv.{succ (max u1 u2), max 1 (succ u1) (succ (max u1 u2))} (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.multiequalizer.{u2, u3, u1} C _inst_1 I _inst_5)) (Subtype.{max (succ u1) (succ (max u1 u2))} (forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) (fun (x : forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) => forall (i : CategoryTheory.Limits.MulticospanIndex.R.{u1, u2, u3} C _inst_1 I), Eq.{succ (max u1 u2)} (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (coeFn.{succ u2, succ (max u1 u2)} (Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (fun (f : Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) => (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i))) -> (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u3, u2, max u1 u2} C _inst_1 _inst_2 (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.fst.{u1, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i))) (coeFn.{succ u2, succ (max u1 u2)} (Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (fun (f : Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) => (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i))) -> (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u3, u2, max u1 u2} C _inst_1 _inst_2 (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.snd.{u1, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)))))) => (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.multiequalizer.{u2, u3, u1} C _inst_1 I _inst_5)) -> (Subtype.{max (succ u1) (succ (max u1 u2))} (forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) (fun (x : forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) => forall (i : CategoryTheory.Limits.MulticospanIndex.R.{u1, u2, u3} C _inst_1 I), Eq.{succ (max u1 u2)} (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (coeFn.{succ u2, succ (max u1 u2)} (Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (fun (f : Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) => (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i))) -> (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u3, u2, max u1 u2} C _inst_1 _inst_2 (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.fst.{u1, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i))) (coeFn.{succ u2, succ (max u1 u2)} (Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (fun (f : Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) => (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i))) -> (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u3, u2, max u1 u2} C _inst_1 _inst_2 (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.snd.{u1, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)))))) (Equiv.hasCoeToFun.{succ (max u1 u2), max 1 (succ u1) (succ (max u1 u2))} (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.multiequalizer.{u2, u3, u1} C _inst_1 I _inst_5)) (Subtype.{max (succ u1) (succ (max u1 u2))} (forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) (fun (x : forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) => forall (i : CategoryTheory.Limits.MulticospanIndex.R.{u1, u2, u3} C _inst_1 I), Eq.{succ (max u1 u2)} (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (coeFn.{succ u2, succ (max u1 u2)} (Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (fun (f : Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) => (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i))) -> (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u3, u2, max u1 u2} C _inst_1 _inst_2 (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.fst.{u1, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i))) (coeFn.{succ u2, succ (max u1 u2)} (Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (fun (f : Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) => (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i))) -> (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u3, u2, max u1 u2} C _inst_1 _inst_2 (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.snd.{u1, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)))))) (CategoryTheory.Limits.Concrete.multiequalizerEquiv.{u1, u2, u3} C _inst_1 _inst_2 I _inst_5 _inst_6) x) i) (coeFn.{succ u2, succ (max u1 u2)} (Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.multiequalizer.{u2, u3, u1} C _inst_1 I _inst_5) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) (fun (f : Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.multiequalizer.{u2, u3, u1} C _inst_1 I _inst_5) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) => (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.multiequalizer.{u2, u3, u1} C _inst_1 I _inst_5)) -> (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u3, u2, max u1 u2} C _inst_1 _inst_2 (CategoryTheory.Limits.multiequalizer.{u2, u3, u1} C _inst_1 I _inst_5) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.Multiequalizer.ι.{u2, u3, u1} C _inst_1 I _inst_5 i) x)
but is expected to have type
- forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u2, u3} C] [_inst_2 : CategoryTheory.ConcreteCategory.{max u1 u2, u2, u3} C _inst_1] (I : CategoryTheory.Limits.MulticospanIndex.{u1, u2, u3} C _inst_1) [_inst_5 : CategoryTheory.Limits.HasMultiequalizer.{u2, u3, u1} C _inst_1 I] [_inst_6 : CategoryTheory.Limits.PreservesLimit.{u1, u1, u2, max u2 u1, u3, max (succ u2) (succ u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.Limits.WalkingMulticospan.{u1} (CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.R.{u1, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I)) (CategoryTheory.Limits.WalkingMulticospan.instSmallCategoryWalkingMulticospan.{u1} (CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.R.{u1, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I)) (CategoryTheory.Limits.MulticospanIndex.multicospan.{u2, u3, u1} C _inst_1 I) (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)] (x : Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.ConcreteCategory.Forget.{max u2 u1, u2, u3} C _inst_1 _inst_2)) (CategoryTheory.Limits.multiequalizer.{u2, u3, u1} C _inst_1 I _inst_5)) (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), Eq.{max (succ u2) (succ u1)} (Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.ConcreteCategory.Forget.{max u2 u1, u2, u3} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) (Subtype.val.{max (succ u2) (succ u1)} (forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.ConcreteCategory.Forget.{max u2 u1, u2, u3} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) (fun (x : forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.ConcreteCategory.Forget.{max u2 u1, u2, u3} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) => forall (i : CategoryTheory.Limits.MulticospanIndex.R.{u1, u2, u3} C _inst_1 I), Eq.{max (succ u2) (succ u1)} (Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (Prefunctor.map.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i) (CategoryTheory.Limits.MulticospanIndex.fst.{u1, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i))) (Prefunctor.map.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i) (CategoryTheory.Limits.MulticospanIndex.snd.{u1, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)))) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (Equiv.{max (succ u2) (succ u1), max 1 (succ u2) (succ u1)} (Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.ConcreteCategory.Forget.{max u2 u1, u2, u3} C _inst_1 _inst_2)) (CategoryTheory.Limits.multiequalizer.{u2, u3, u1} C _inst_1 I _inst_5)) (Subtype.{max (succ u2) (succ u1)} (forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.ConcreteCategory.Forget.{max u2 u1, u2, u3} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) (fun (x : forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.ConcreteCategory.Forget.{max u2 u1, u2, u3} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) => forall (i : CategoryTheory.Limits.MulticospanIndex.R.{u1, u2, u3} C _inst_1 I), Eq.{max (succ u2) (succ u1)} (Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (Prefunctor.map.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i) (CategoryTheory.Limits.MulticospanIndex.fst.{u1, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i))) (Prefunctor.map.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i) (CategoryTheory.Limits.MulticospanIndex.snd.{u1, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)))))) (Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.ConcreteCategory.Forget.{max u2 u1, u2, u3} C _inst_1 _inst_2)) (CategoryTheory.Limits.multiequalizer.{u2, u3, u1} C _inst_1 I _inst_5)) (fun (_x : Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.ConcreteCategory.Forget.{max u2 u1, u2, u3} C _inst_1 _inst_2)) (CategoryTheory.Limits.multiequalizer.{u2, u3, u1} C _inst_1 I _inst_5)) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.ConcreteCategory.Forget.{max u2 u1, u2, u3} C _inst_1 _inst_2)) (CategoryTheory.Limits.multiequalizer.{u2, u3, u1} C _inst_1 I _inst_5)) => Subtype.{max (succ u2) (succ u1)} (forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.ConcreteCategory.Forget.{max u2 u1, u2, u3} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) (fun (x : forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.ConcreteCategory.Forget.{max u2 u1, u2, u3} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) => forall (i : CategoryTheory.Limits.MulticospanIndex.R.{u1, u2, u3} C _inst_1 I), Eq.{max (succ u2) (succ u1)} (Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (Prefunctor.map.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i) (CategoryTheory.Limits.MulticospanIndex.fst.{u1, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i))) (Prefunctor.map.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i) (CategoryTheory.Limits.MulticospanIndex.snd.{u1, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i))))) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.ConcreteCategory.Forget.{max u2 u1, u2, u3} C _inst_1 _inst_2)) (CategoryTheory.Limits.multiequalizer.{u2, u3, u1} C _inst_1 I _inst_5)) (Subtype.{max (succ u2) (succ u1)} (forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.ConcreteCategory.Forget.{max u2 u1, u2, u3} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) (fun (x : forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.ConcreteCategory.Forget.{max u2 u1, u2, u3} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) => forall (i : CategoryTheory.Limits.MulticospanIndex.R.{u1, u2, u3} C _inst_1 I), Eq.{max (succ u2) (succ u1)} (Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (Prefunctor.map.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i) (CategoryTheory.Limits.MulticospanIndex.fst.{u1, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i))) (Prefunctor.map.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i) (CategoryTheory.Limits.MulticospanIndex.snd.{u1, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)))))) (CategoryTheory.Limits.Concrete.multiequalizerEquiv.{u1, u2, u3} C _inst_1 _inst_2 I _inst_5 _inst_6) x) i) (Prefunctor.map.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.multiequalizer.{u2, u3, u1} C _inst_1 I _inst_5) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i) (CategoryTheory.Limits.Multiequalizer.ι.{u2, u3, u1} C _inst_1 I _inst_5 i) x)
+ forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u2, u3} C] [_inst_2 : CategoryTheory.ConcreteCategory.{max u1 u2, u2, u3} C _inst_1] (I : CategoryTheory.Limits.MulticospanIndex.{u1, u2, u3} C _inst_1) [_inst_5 : CategoryTheory.Limits.HasMultiequalizer.{u2, u3, u1} C _inst_1 I] [_inst_6 : CategoryTheory.Limits.PreservesLimit.{u1, u1, u2, max u2 u1, u3, max (succ u2) (succ u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.Limits.WalkingMulticospan.{u1} (CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.R.{u1, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I)) (CategoryTheory.Limits.WalkingMulticospan.instSmallCategoryWalkingMulticospan.{u1} (CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.R.{u1, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I)) (CategoryTheory.Limits.MulticospanIndex.multicospan.{u2, u3, u1} C _inst_1 I) (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)] (x : Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.multiequalizer.{u2, u3, u1} C _inst_1 I _inst_5)) (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), Eq.{max (succ u2) (succ u1)} (Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) (Subtype.val.{max (succ u2) (succ u1)} (forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) (fun (x : forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) => forall (i : CategoryTheory.Limits.MulticospanIndex.R.{u1, u2, u3} C _inst_1 I), Eq.{max (succ u2) (succ u1)} (Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (Prefunctor.map.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i) (CategoryTheory.Limits.MulticospanIndex.fst.{u1, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i))) (Prefunctor.map.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i) (CategoryTheory.Limits.MulticospanIndex.snd.{u1, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)))) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (Equiv.{max (succ u2) (succ u1), max 1 (succ u2) (succ u1)} (Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.multiequalizer.{u2, u3, u1} C _inst_1 I _inst_5)) (Subtype.{max (succ u2) (succ u1)} (forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) (fun (x : forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) => forall (i : CategoryTheory.Limits.MulticospanIndex.R.{u1, u2, u3} C _inst_1 I), Eq.{max (succ u2) (succ u1)} (Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (Prefunctor.map.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i) (CategoryTheory.Limits.MulticospanIndex.fst.{u1, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i))) (Prefunctor.map.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i) (CategoryTheory.Limits.MulticospanIndex.snd.{u1, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)))))) (Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.multiequalizer.{u2, u3, u1} C _inst_1 I _inst_5)) (fun (_x : Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.multiequalizer.{u2, u3, u1} C _inst_1 I _inst_5)) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.multiequalizer.{u2, u3, u1} C _inst_1 I _inst_5)) => Subtype.{max (succ u2) (succ u1)} (forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) (fun (x : forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) => forall (i : CategoryTheory.Limits.MulticospanIndex.R.{u1, u2, u3} C _inst_1 I), Eq.{max (succ u2) (succ u1)} (Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (Prefunctor.map.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i) (CategoryTheory.Limits.MulticospanIndex.fst.{u1, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i))) (Prefunctor.map.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i) (CategoryTheory.Limits.MulticospanIndex.snd.{u1, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i))))) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.multiequalizer.{u2, u3, u1} C _inst_1 I _inst_5)) (Subtype.{max (succ u2) (succ u1)} (forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) (fun (x : forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) => forall (i : CategoryTheory.Limits.MulticospanIndex.R.{u1, u2, u3} C _inst_1 I), Eq.{max (succ u2) (succ u1)} (Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (Prefunctor.map.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i) (CategoryTheory.Limits.MulticospanIndex.fst.{u1, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i))) (Prefunctor.map.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i) (CategoryTheory.Limits.MulticospanIndex.snd.{u1, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)))))) (CategoryTheory.Limits.Concrete.multiequalizerEquiv.{u1, u2, u3} C _inst_1 _inst_2 I _inst_5 _inst_6) x) i) (Prefunctor.map.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.multiequalizer.{u2, u3, u1} C _inst_1 I _inst_5) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i) (CategoryTheory.Limits.Multiequalizer.ι.{u2, u3, u1} C _inst_1 I _inst_5 i) x)
Case conversion may be inaccurate. Consider using '#align category_theory.limits.concrete.multiequalizer_equiv_apply CategoryTheory.Limits.Concrete.multiequalizerEquiv_applyₓ'. -/
@[simp]
theorem Concrete.multiequalizerEquiv_apply (I : MulticospanIndex.{w} C) [HasMultiequalizer I]
@@ -211,7 +211,7 @@ section Colimits
lean 3 declaration is
forall {C : Type.{u1}} [_inst_1 : CategoryTheory.Category.{u2, u1} C] [_inst_2 : CategoryTheory.Limits.HasZeroMorphisms.{u2, u1} C _inst_1] [_inst_3 : CategoryTheory.ConcreteCategory.{u3, u2, u1} C _inst_1] {M : C} {N : C} {K : C} {f : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) M N} [_inst_4 : CategoryTheory.Limits.HasCokernel.{u2, u1} C _inst_1 _inst_2 M N f] {g : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Limits.cokernel.{u2, u1} C _inst_1 _inst_2 M N f _inst_4) K} {h : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Limits.cokernel.{u2, u1} C _inst_1 _inst_2 M N f _inst_4) K}, (forall (n : coeSort.{succ u1, succ (succ u3)} C Type.{u3} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u1, u3, u2} C _inst_1 _inst_3) N), Eq.{succ u3} (coeSort.{succ u1, succ (succ u3)} C Type.{u3} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u1, u3, u2} C _inst_1 _inst_3) K) (coeFn.{succ u2, succ u3} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Limits.cokernel.{u2, u1} C _inst_1 _inst_2 M N f _inst_4) K) (fun (f_1 : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Limits.cokernel.{u2, u1} C _inst_1 _inst_2 M N f _inst_4) K) => (coeSort.{succ u1, succ (succ u3)} C Type.{u3} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u1, u3, u2} C _inst_1 _inst_3) (CategoryTheory.Limits.cokernel.{u2, u1} C _inst_1 _inst_2 M N f _inst_4)) -> (coeSort.{succ u1, succ (succ u3)} C Type.{u3} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u1, u3, u2} C _inst_1 _inst_3) K)) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u1, u2, u3} C _inst_1 _inst_3 (CategoryTheory.Limits.cokernel.{u2, u1} C _inst_1 _inst_2 M N f _inst_4) K) g (coeFn.{succ u2, succ u3} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) N (CategoryTheory.Limits.cokernel.{u2, u1} C _inst_1 _inst_2 M N f _inst_4)) (fun (f_1 : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) N (CategoryTheory.Limits.cokernel.{u2, u1} C _inst_1 _inst_2 M N f _inst_4)) => (coeSort.{succ u1, succ (succ u3)} C Type.{u3} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u1, u3, u2} C _inst_1 _inst_3) N) -> (coeSort.{succ u1, succ (succ u3)} C Type.{u3} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u1, u3, u2} C _inst_1 _inst_3) (CategoryTheory.Limits.cokernel.{u2, u1} C _inst_1 _inst_2 M N f _inst_4))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u1, u2, u3} C _inst_1 _inst_3 N (CategoryTheory.Limits.cokernel.{u2, u1} C _inst_1 _inst_2 M N f _inst_4)) (CategoryTheory.Limits.cokernel.π.{u2, u1} C _inst_1 _inst_2 M N f _inst_4) n)) (coeFn.{succ u2, succ u3} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Limits.cokernel.{u2, u1} C _inst_1 _inst_2 M N f _inst_4) K) (fun (f_1 : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Limits.cokernel.{u2, u1} C _inst_1 _inst_2 M N f _inst_4) K) => (coeSort.{succ u1, succ (succ u3)} C Type.{u3} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u1, u3, u2} C _inst_1 _inst_3) (CategoryTheory.Limits.cokernel.{u2, u1} C _inst_1 _inst_2 M N f _inst_4)) -> (coeSort.{succ u1, succ (succ u3)} C Type.{u3} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u1, u3, u2} C _inst_1 _inst_3) K)) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u1, u2, u3} C _inst_1 _inst_3 (CategoryTheory.Limits.cokernel.{u2, u1} C _inst_1 _inst_2 M N f _inst_4) K) h (coeFn.{succ u2, succ u3} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) N (CategoryTheory.Limits.cokernel.{u2, u1} C _inst_1 _inst_2 M N f _inst_4)) (fun (f_1 : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) N (CategoryTheory.Limits.cokernel.{u2, u1} C _inst_1 _inst_2 M N f _inst_4)) => (coeSort.{succ u1, succ (succ u3)} C Type.{u3} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u1, u3, u2} C _inst_1 _inst_3) N) -> (coeSort.{succ u1, succ (succ u3)} C Type.{u3} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u1, u3, u2} C _inst_1 _inst_3) (CategoryTheory.Limits.cokernel.{u2, u1} C _inst_1 _inst_2 M N f _inst_4))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u1, u2, u3} C _inst_1 _inst_3 N (CategoryTheory.Limits.cokernel.{u2, u1} C _inst_1 _inst_2 M N f _inst_4)) (CategoryTheory.Limits.cokernel.π.{u2, u1} C _inst_1 _inst_2 M N f _inst_4) n))) -> (Eq.{succ u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Limits.cokernel.{u2, u1} C _inst_1 _inst_2 M N f _inst_4) K) g h)
but is expected to have type
- forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u2, u3} C] [_inst_2 : CategoryTheory.Limits.HasZeroMorphisms.{u2, u3} C _inst_1] [_inst_3 : CategoryTheory.ConcreteCategory.{u1, u2, u3} C _inst_1] {M : C} {N : C} {K : C} {f : Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) M N} [_inst_4 : CategoryTheory.Limits.HasCokernel.{u2, u3} C _inst_1 _inst_2 M N f] {g : Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.cokernel.{u2, u3} C _inst_1 _inst_2 M N f _inst_4) K} {h : Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.cokernel.{u2, u3} C _inst_1 _inst_2 M N f _inst_4) K}, (forall (n : Prefunctor.obj.{succ u2, succ u1, u3, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} 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.{u2, u1, u3, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.ConcreteCategory.Forget.{u1, u2, u3} C _inst_1 _inst_3)) N), Eq.{succ u1} (Prefunctor.obj.{succ u2, succ u1, u3, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} 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.{u2, u1, u3, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u3, u1, u2} C _inst_1 _inst_3)) K) (Prefunctor.map.{succ u2, succ u1, u3, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} 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.{u2, u1, u3, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u3, u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Limits.cokernel.{u2, u3} C _inst_1 _inst_2 M N f _inst_4) K g (Prefunctor.map.{succ u2, succ u1, u3, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} 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.{u2, u1, u3, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u3, u1, u2} C _inst_1 _inst_3)) N (CategoryTheory.Limits.cokernel.{u2, u3} C _inst_1 _inst_2 M N f _inst_4) (CategoryTheory.Limits.cokernel.π.{u2, u3} C _inst_1 _inst_2 M N f _inst_4) n)) (Prefunctor.map.{succ u2, succ u1, u3, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} 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.{u2, u1, u3, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u3, u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Limits.cokernel.{u2, u3} C _inst_1 _inst_2 M N f _inst_4) K h (Prefunctor.map.{succ u2, succ u1, u3, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} 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.{u2, u1, u3, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u3, u1, u2} C _inst_1 _inst_3)) N (CategoryTheory.Limits.cokernel.{u2, u3} C _inst_1 _inst_2 M N f _inst_4) (CategoryTheory.Limits.cokernel.π.{u2, u3} C _inst_1 _inst_2 M N f _inst_4) n))) -> (Eq.{succ u2} (Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.cokernel.{u2, u3} C _inst_1 _inst_2 M N f _inst_4) K) g h)
+ forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u2, u3} C] [_inst_2 : CategoryTheory.Limits.HasZeroMorphisms.{u2, u3} C _inst_1] [_inst_3 : CategoryTheory.ConcreteCategory.{u1, u2, u3} C _inst_1] {M : C} {N : C} {K : C} {f : Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) M N} [_inst_4 : CategoryTheory.Limits.HasCokernel.{u2, u3} C _inst_1 _inst_2 M N f] {g : Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.cokernel.{u2, u3} C _inst_1 _inst_2 M N f _inst_4) K} {h : Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.cokernel.{u2, u3} C _inst_1 _inst_2 M N f _inst_4) K}, (forall (n : Prefunctor.obj.{succ u2, succ u1, u3, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} 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.{u2, u1, u3, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u3, u1, u2} C _inst_1 _inst_3)) N), Eq.{succ u1} (Prefunctor.obj.{succ u2, succ u1, u3, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} 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.{u2, u1, u3, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u3, u1, u2} C _inst_1 _inst_3)) K) (Prefunctor.map.{succ u2, succ u1, u3, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} 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.{u2, u1, u3, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u3, u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Limits.cokernel.{u2, u3} C _inst_1 _inst_2 M N f _inst_4) K g (Prefunctor.map.{succ u2, succ u1, u3, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} 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.{u2, u1, u3, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u3, u1, u2} C _inst_1 _inst_3)) N (CategoryTheory.Limits.cokernel.{u2, u3} C _inst_1 _inst_2 M N f _inst_4) (CategoryTheory.Limits.cokernel.π.{u2, u3} C _inst_1 _inst_2 M N f _inst_4) n)) (Prefunctor.map.{succ u2, succ u1, u3, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} 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.{u2, u1, u3, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u3, u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Limits.cokernel.{u2, u3} C _inst_1 _inst_2 M N f _inst_4) K h (Prefunctor.map.{succ u2, succ u1, u3, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} 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.{u2, u1, u3, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u3, u1, u2} C _inst_1 _inst_3)) N (CategoryTheory.Limits.cokernel.{u2, u3} C _inst_1 _inst_2 M N f _inst_4) (CategoryTheory.Limits.cokernel.π.{u2, u3} C _inst_1 _inst_2 M N f _inst_4) n))) -> (Eq.{succ u2} (Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.cokernel.{u2, u3} C _inst_1 _inst_2 M N f _inst_4) K) g h)
Case conversion may be inaccurate. Consider using '#align category_theory.limits.cokernel_funext CategoryTheory.Limits.cokernel_funextₓ'. -/
-- We don't mark this as an `@[ext]` lemma as we don't always want to work elementwise.
theorem cokernel_funext {C : Type _} [Category C] [HasZeroMorphisms C] [ConcreteCategory C]
@@ -230,7 +230,7 @@ variable {C : Type u} [Category.{v} C] [ConcreteCategory.{v} C] {J : Type v} [Sm
lean 3 declaration is
forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] [_inst_2 : CategoryTheory.ConcreteCategory.{u1, u1, u2} C _inst_1] {J : Type.{u1}} [_inst_3 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) [_inst_4 : CategoryTheory.Limits.PreservesColimit.{u1, u1, u1, u1, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} J _inst_3 F (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)] {D : CategoryTheory.Limits.Cocone.{u1, u1, u1, u2} J _inst_3 C _inst_1 F}, (CategoryTheory.Limits.IsColimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D) -> (let ff : (Sigma.{u1, u1} J (fun (j : J) => coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j))) -> (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) := fun (a : Sigma.{u1, u1} J (fun (j : J) => coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j))) => coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F (Sigma.fst.{u1, u1} J (fun (j : J) => coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j)) a)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) (Sigma.fst.{u1, u1} J (fun (j : J) => coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j)) a))) (fun (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F (Sigma.fst.{u1, u1} J (fun (j : J) => coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j)) a)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) (Sigma.fst.{u1, u1} J (fun (j : J) => coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j)) a))) => (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F (Sigma.fst.{u1, u1} J (fun (j : J) => coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j)) a))) -> (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) (Sigma.fst.{u1, u1} J (fun (j : J) => coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j)) a)))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u2, u1, u1} C _inst_1 _inst_2 (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F (Sigma.fst.{u1, u1} J (fun (j : J) => coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j)) a)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) (Sigma.fst.{u1, u1} J (fun (j : J) => coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j)) a))) (CategoryTheory.NatTrans.app.{u1, u1, u1, u2} J _inst_3 C _inst_1 F (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) (CategoryTheory.Limits.Cocone.ι.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D) (Sigma.fst.{u1, u1} J (fun (j : J) => coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j)) a)) (Sigma.snd.{u1, u1} J (fun (j : J) => coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j)) a); Function.Surjective.{succ u1, succ u1} (Sigma.{u1, u1} J (fun (j : J) => coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j))) (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) ff)
but is expected to have type
- forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] [_inst_2 : CategoryTheory.ConcreteCategory.{u1, u1, u2} C _inst_1] {J : Type.{u1}} [_inst_3 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) [_inst_4 : CategoryTheory.Limits.PreservesColimit.{u1, u1, u1, u1, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} J _inst_3 F (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)] {D : CategoryTheory.Limits.Cocone.{u1, u1, u1, u2} J _inst_3 C _inst_1 F}, (CategoryTheory.Limits.IsColimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D) -> (let ff : (Sigma.{u1, u1} J (fun (j : J) => Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.ConcreteCategory.Forget.{u1, u1, u2} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j))) -> (Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.ConcreteCategory.Forget.{u1, u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) := fun (a : Sigma.{u1, u1} J (fun (j : J) => Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.ConcreteCategory.Forget.{u1, u1, u2} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j))) => Prefunctor.map.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) (Sigma.fst.{u1, u1} J (fun (j : J) => Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.ConcreteCategory.Forget.{u1, u1, u2} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j)) a)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 (Prefunctor.obj.{succ u1, succ u1, u2, max u1 u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D))) (Sigma.fst.{u1, u1} J (fun (j : J) => Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.ConcreteCategory.Forget.{u1, u1, u2} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j)) a)) (CategoryTheory.NatTrans.app.{u1, u1, u1, u2} J _inst_3 C _inst_1 F (Prefunctor.obj.{succ u1, succ u1, u2, max u1 u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) (CategoryTheory.Limits.Cocone.ι.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D) (Sigma.fst.{u1, u1} J (fun (j : J) => Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.ConcreteCategory.Forget.{u1, u1, u2} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j)) a)) (Sigma.snd.{u1, u1} J (fun (j : J) => Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.ConcreteCategory.Forget.{u1, u1, u2} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j)) a); Function.Surjective.{succ u1, succ u1} (Sigma.{u1, u1} J (fun (j : J) => Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.ConcreteCategory.Forget.{u1, u1, u2} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j))) (Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.ConcreteCategory.Forget.{u1, u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) ff)
+ forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] [_inst_2 : CategoryTheory.ConcreteCategory.{u1, u1, u2} C _inst_1] {J : Type.{u1}} [_inst_3 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) [_inst_4 : CategoryTheory.Limits.PreservesColimit.{u1, u1, u1, u1, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} J _inst_3 F (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)] {D : CategoryTheory.Limits.Cocone.{u1, u1, u1, u2} J _inst_3 C _inst_1 F}, (CategoryTheory.Limits.IsColimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D) -> (let ff : (Sigma.{u1, u1} J (fun (j : J) => Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j))) -> (Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) := fun (a : Sigma.{u1, u1} J (fun (j : J) => Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j))) => Prefunctor.map.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) (Sigma.fst.{u1, u1} J (fun (j : J) => Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j)) a)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 (Prefunctor.obj.{succ u1, succ u1, u2, max u1 u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D))) (Sigma.fst.{u1, u1} J (fun (j : J) => Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j)) a)) (CategoryTheory.NatTrans.app.{u1, u1, u1, u2} J _inst_3 C _inst_1 F (Prefunctor.obj.{succ u1, succ u1, u2, max u1 u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) (CategoryTheory.Limits.Cocone.ι.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D) (Sigma.fst.{u1, u1} J (fun (j : J) => Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j)) a)) (Sigma.snd.{u1, u1} J (fun (j : J) => Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j)) a); Function.Surjective.{succ u1, succ u1} (Sigma.{u1, u1} J (fun (j : J) => Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j))) (Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) ff)
Case conversion may be inaccurate. Consider using '#align category_theory.limits.concrete.from_union_surjective_of_is_colimit CategoryTheory.Limits.Concrete.from_union_surjective_of_isColimitₓ'. -/
theorem Concrete.from_union_surjective_of_isColimit {D : Cocone F} (hD : IsColimit D) :
let ff : (Σj : J, F.obj j) → D.pt := fun a => D.ι.app a.1 a.2
@@ -264,7 +264,7 @@ theorem Concrete.from_union_surjective_of_isColimit {D : Cocone F} (hD : IsColim
lean 3 declaration is
forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] [_inst_2 : CategoryTheory.ConcreteCategory.{u1, u1, u2} C _inst_1] {J : Type.{u1}} [_inst_3 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) [_inst_4 : CategoryTheory.Limits.PreservesColimit.{u1, u1, u1, u1, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} J _inst_3 F (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)] {D : CategoryTheory.Limits.Cocone.{u1, u1, u1, u2} J _inst_3 C _inst_1 F}, (CategoryTheory.Limits.IsColimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D) -> (forall (x : coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)), Exists.{succ u1} J (fun (j : J) => Exists.{succ u1} (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j)) (fun (y : coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j)) => Eq.{succ u1} (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) j)) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) j)) (fun (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) j)) => (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j)) -> (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) j))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u2, u1, u1} C _inst_1 _inst_2 (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) j)) (CategoryTheory.NatTrans.app.{u1, u1, u1, u2} J _inst_3 C _inst_1 F (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) (CategoryTheory.Limits.Cocone.ι.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D) j) y) x)))
but is expected to have type
- forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] [_inst_2 : CategoryTheory.ConcreteCategory.{u1, u1, u2} C _inst_1] {J : Type.{u1}} [_inst_3 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) [_inst_4 : CategoryTheory.Limits.PreservesColimit.{u1, u1, u1, u1, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} J _inst_3 F (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)] {D : CategoryTheory.Limits.Cocone.{u1, u1, u1, u2} J _inst_3 C _inst_1 F}, (CategoryTheory.Limits.IsColimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D) -> (forall (x : Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.ConcreteCategory.Forget.{u1, u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)), Exists.{succ u1} J (fun (j : J) => Exists.{succ u1} (Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.ConcreteCategory.Forget.{u1, u1, u2} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j)) (fun (y : Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.ConcreteCategory.Forget.{u1, u1, u2} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j)) => Eq.{succ u1} (Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 (Prefunctor.obj.{succ u1, succ u1, u2, max u1 u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D))) j)) (Prefunctor.map.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 (Prefunctor.obj.{succ u1, succ u1, u2, max u1 u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D))) j) (CategoryTheory.NatTrans.app.{u1, u1, u1, u2} J _inst_3 C _inst_1 F (Prefunctor.obj.{succ u1, succ u1, u2, max u1 u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) (CategoryTheory.Limits.Cocone.ι.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D) j) y) x)))
+ forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] [_inst_2 : CategoryTheory.ConcreteCategory.{u1, u1, u2} C _inst_1] {J : Type.{u1}} [_inst_3 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) [_inst_4 : CategoryTheory.Limits.PreservesColimit.{u1, u1, u1, u1, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} J _inst_3 F (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)] {D : CategoryTheory.Limits.Cocone.{u1, u1, u1, u2} J _inst_3 C _inst_1 F}, (CategoryTheory.Limits.IsColimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D) -> (forall (x : Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)), Exists.{succ u1} J (fun (j : J) => Exists.{succ u1} (Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j)) (fun (y : Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j)) => Eq.{succ u1} (Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 (Prefunctor.obj.{succ u1, succ u1, u2, max u1 u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D))) j)) (Prefunctor.map.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 (Prefunctor.obj.{succ u1, succ u1, u2, max u1 u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D))) j) (CategoryTheory.NatTrans.app.{u1, u1, u1, u2} J _inst_3 C _inst_1 F (Prefunctor.obj.{succ u1, succ u1, u2, max u1 u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) (CategoryTheory.Limits.Cocone.ι.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D) j) y) x)))
Case conversion may be inaccurate. Consider using '#align category_theory.limits.concrete.is_colimit_exists_rep CategoryTheory.Limits.Concrete.isColimit_exists_repₓ'. -/
theorem Concrete.isColimit_exists_rep {D : Cocone F} (hD : IsColimit D) (x : D.pt) :
∃ (j : J)(y : F.obj j), D.ι.app j y = x :=
@@ -277,7 +277,7 @@ theorem Concrete.isColimit_exists_rep {D : Cocone F} (hD : IsColimit D) (x : D.p
lean 3 declaration is
forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] [_inst_2 : CategoryTheory.ConcreteCategory.{u1, u1, u2} C _inst_1] {J : Type.{u1}} [_inst_3 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) [_inst_4 : CategoryTheory.Limits.PreservesColimit.{u1, u1, u1, u1, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} J _inst_3 F (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)] [_inst_5 : CategoryTheory.Limits.HasColimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F] (x : coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_5)), Exists.{succ u1} J (fun (j : J) => Exists.{succ u1} (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j)) (fun (y : coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j)) => Eq.{succ u1} (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_5)) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_5)) (fun (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_5)) => (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j)) -> (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_5))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u2, u1, u1} C _inst_1 _inst_2 (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_5)) (CategoryTheory.Limits.colimit.ι.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_5 j) y) x))
but is expected to have type
- forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] [_inst_2 : CategoryTheory.ConcreteCategory.{u1, u1, u2} C _inst_1] {J : Type.{u1}} [_inst_3 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) [_inst_4 : CategoryTheory.Limits.PreservesColimit.{u1, u1, u1, u1, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} J _inst_3 F (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)] [_inst_5 : CategoryTheory.Limits.HasColimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F] (x : Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.ConcreteCategory.Forget.{u1, u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_5)), Exists.{succ u1} J (fun (j : J) => Exists.{succ u1} (Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.ConcreteCategory.Forget.{u1, u1, u2} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j)) (fun (y : Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.ConcreteCategory.Forget.{u1, u1, u2} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j)) => Eq.{succ u1} (Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_5)) (Prefunctor.map.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_5) (CategoryTheory.Limits.colimit.ι.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_5 j) y) x))
+ forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] [_inst_2 : CategoryTheory.ConcreteCategory.{u1, u1, u2} C _inst_1] {J : Type.{u1}} [_inst_3 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) [_inst_4 : CategoryTheory.Limits.PreservesColimit.{u1, u1, u1, u1, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} J _inst_3 F (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)] [_inst_5 : CategoryTheory.Limits.HasColimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F] (x : Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_5)), Exists.{succ u1} J (fun (j : J) => Exists.{succ u1} (Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j)) (fun (y : Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j)) => Eq.{succ u1} (Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_5)) (Prefunctor.map.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_5) (CategoryTheory.Limits.colimit.ι.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_5 j) y) x))
Case conversion may be inaccurate. Consider using '#align category_theory.limits.concrete.colimit_exists_rep CategoryTheory.Limits.Concrete.colimit_exists_repₓ'. -/
theorem Concrete.colimit_exists_rep [HasColimit F] (x : colimit F) :
∃ (j : J)(y : F.obj j), colimit.ι F j y = x :=
@@ -288,7 +288,7 @@ theorem Concrete.colimit_exists_rep [HasColimit F] (x : colimit F) :
lean 3 declaration is
forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] [_inst_2 : CategoryTheory.ConcreteCategory.{u1, u1, u2} C _inst_1] {J : Type.{u1}} [_inst_3 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) [_inst_4 : CategoryTheory.Limits.PreservesColimit.{u1, u1, u1, u1, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} J _inst_3 F (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)] {D : CategoryTheory.Limits.Cocone.{u1, u1, u1, u2} J _inst_3 C _inst_1 F} {i : J} {j : J}, (CategoryTheory.Limits.IsColimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D) -> (forall (x : coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i)) (y : coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j)), (Exists.{succ u1} J (fun (k : J) => Exists.{succ u1} (Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) i k) (fun (f : Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) i k) => Exists.{succ u1} (Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) j k) (fun (g : Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) j k) => Eq.{succ u1} (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) (fun (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) => (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i)) -> (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u2, u1, u1} C _inst_1 _inst_2 (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) (CategoryTheory.Functor.map.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i k f) x) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) (fun (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) => (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j)) -> (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u2, u1, u1} C _inst_1 _inst_2 (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) (CategoryTheory.Functor.map.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j k g) y))))) -> (Eq.{succ u1} (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) i)) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) i)) (fun (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) i)) => (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i)) -> (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) i))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u2, u1, u1} C _inst_1 _inst_2 (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) i)) (CategoryTheory.NatTrans.app.{u1, u1, u1, u2} J _inst_3 C _inst_1 F (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) (CategoryTheory.Limits.Cocone.ι.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D) i) x) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) j)) (fun (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) j)) => (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j)) -> (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) j))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u2, u1, u1} C _inst_1 _inst_2 (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) j)) (CategoryTheory.NatTrans.app.{u1, u1, u1, u2} J _inst_3 C _inst_1 F (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) (CategoryTheory.Limits.Cocone.ι.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D) j) y)))
but is expected to have type
- forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] [_inst_2 : CategoryTheory.ConcreteCategory.{u1, u1, u2} C _inst_1] {J : Type.{u1}} [_inst_3 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) [_inst_4 : CategoryTheory.Limits.PreservesColimit.{u1, u1, u1, u1, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} J _inst_3 F (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)] {D : CategoryTheory.Limits.Cocone.{u1, u1, u1, u2} J _inst_3 C _inst_1 F} {i : J} {j : J}, (CategoryTheory.Limits.IsColimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D) -> (forall (x : Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.ConcreteCategory.Forget.{u1, u1, u2} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) i)) (y : Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.ConcreteCategory.Forget.{u1, u1, u2} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j)), (Exists.{succ u1} J (fun (k : J) => Exists.{succ u1} (Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) i k) (fun (f : Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) i k) => Exists.{succ u1} (Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) j k) (fun (g : Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) j k) => Eq.{succ u1} (Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) k)) (Prefunctor.map.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) i) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) k) (Prefunctor.map.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) i k f) x) (Prefunctor.map.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) k) (Prefunctor.map.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j k g) y))))) -> (Eq.{succ u1} (Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 (Prefunctor.obj.{succ u1, succ u1, u2, max u1 u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D))) i)) (Prefunctor.map.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) i) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 (Prefunctor.obj.{succ u1, succ u1, u2, max u1 u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D))) i) (CategoryTheory.NatTrans.app.{u1, u1, u1, u2} J _inst_3 C _inst_1 F (Prefunctor.obj.{succ u1, succ u1, u2, max u1 u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) (CategoryTheory.Limits.Cocone.ι.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D) i) x) (Prefunctor.map.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 (Prefunctor.obj.{succ u1, succ u1, u2, max u1 u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D))) j) (CategoryTheory.NatTrans.app.{u1, u1, u1, u2} J _inst_3 C _inst_1 F (Prefunctor.obj.{succ u1, succ u1, u2, max u1 u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) (CategoryTheory.Limits.Cocone.ι.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D) j) y)))
+ forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] [_inst_2 : CategoryTheory.ConcreteCategory.{u1, u1, u2} C _inst_1] {J : Type.{u1}} [_inst_3 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) [_inst_4 : CategoryTheory.Limits.PreservesColimit.{u1, u1, u1, u1, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} J _inst_3 F (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)] {D : CategoryTheory.Limits.Cocone.{u1, u1, u1, u2} J _inst_3 C _inst_1 F} {i : J} {j : J}, (CategoryTheory.Limits.IsColimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D) -> (forall (x : Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) i)) (y : Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j)), (Exists.{succ u1} J (fun (k : J) => Exists.{succ u1} (Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) i k) (fun (f : Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) i k) => Exists.{succ u1} (Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) j k) (fun (g : Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) j k) => Eq.{succ u1} (Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) k)) (Prefunctor.map.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) i) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) k) (Prefunctor.map.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) i k f) x) (Prefunctor.map.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) k) (Prefunctor.map.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j k g) y))))) -> (Eq.{succ u1} (Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 (Prefunctor.obj.{succ u1, succ u1, u2, max u1 u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D))) i)) (Prefunctor.map.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) i) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 (Prefunctor.obj.{succ u1, succ u1, u2, max u1 u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D))) i) (CategoryTheory.NatTrans.app.{u1, u1, u1, u2} J _inst_3 C _inst_1 F (Prefunctor.obj.{succ u1, succ u1, u2, max u1 u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) (CategoryTheory.Limits.Cocone.ι.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D) i) x) (Prefunctor.map.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 (Prefunctor.obj.{succ u1, succ u1, u2, max u1 u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D))) j) (CategoryTheory.NatTrans.app.{u1, u1, u1, u2} J _inst_3 C _inst_1 F (Prefunctor.obj.{succ u1, succ u1, u2, max u1 u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) (CategoryTheory.Limits.Cocone.ι.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D) j) y)))
Case conversion may be inaccurate. Consider using '#align category_theory.limits.concrete.is_colimit_rep_eq_of_exists CategoryTheory.Limits.Concrete.isColimit_rep_eq_of_existsₓ'. -/
theorem Concrete.isColimit_rep_eq_of_exists {D : Cocone F} {i j : J} (hD : IsColimit D)
(x : F.obj i) (y : F.obj j) (h : ∃ (k : _)(f : i ⟶ k)(g : j ⟶ k), F.map f x = F.map g y) :
@@ -317,7 +317,7 @@ theorem Concrete.isColimit_rep_eq_of_exists {D : Cocone F} {i j : J} (hD : IsCol
lean 3 declaration is
forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] [_inst_2 : CategoryTheory.ConcreteCategory.{u1, u1, u2} C _inst_1] {J : Type.{u1}} [_inst_3 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) [_inst_4 : CategoryTheory.Limits.PreservesColimit.{u1, u1, u1, u1, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} J _inst_3 F (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)] [_inst_5 : CategoryTheory.Limits.HasColimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F] {i : J} {j : J} (x : coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i)) (y : coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j)), (Exists.{succ u1} J (fun (k : J) => Exists.{succ u1} (Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) i k) (fun (f : Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) i k) => Exists.{succ u1} (Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) j k) (fun (g : Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) j k) => Eq.{succ u1} (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) (fun (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) => (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i)) -> (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u2, u1, u1} C _inst_1 _inst_2 (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) (CategoryTheory.Functor.map.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i k f) x) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) (fun (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) => (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j)) -> (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u2, u1, u1} C _inst_1 _inst_2 (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) (CategoryTheory.Functor.map.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j k g) y))))) -> (Eq.{succ u1} (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_5)) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_5)) (fun (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_5)) => (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i)) -> (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_5))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u2, u1, u1} C _inst_1 _inst_2 (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_5)) (CategoryTheory.Limits.colimit.ι.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_5 i) x) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_5)) (fun (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_5)) => (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j)) -> (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_5))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u2, u1, u1} C _inst_1 _inst_2 (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_5)) (CategoryTheory.Limits.colimit.ι.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_5 j) y))
but is expected to have type
- forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] [_inst_2 : CategoryTheory.ConcreteCategory.{u1, u1, u2} C _inst_1] {J : Type.{u1}} [_inst_3 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) [_inst_4 : CategoryTheory.Limits.PreservesColimit.{u1, u1, u1, u1, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} J _inst_3 F (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)] [_inst_5 : CategoryTheory.Limits.HasColimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F] {i : J} {j : J} (x : Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.ConcreteCategory.Forget.{u1, u1, u2} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) i)) (y : Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.ConcreteCategory.Forget.{u1, u1, u2} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j)), (Exists.{succ u1} J (fun (k : J) => Exists.{succ u1} (Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) i k) (fun (f : Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) i k) => Exists.{succ u1} (Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) j k) (fun (g : Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) j k) => Eq.{succ u1} (Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) k)) (Prefunctor.map.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) i) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) k) (Prefunctor.map.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) i k f) x) (Prefunctor.map.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) k) (Prefunctor.map.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j k g) y))))) -> (Eq.{succ u1} (Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_5)) (Prefunctor.map.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) i) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_5) (CategoryTheory.Limits.colimit.ι.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_5 i) x) (Prefunctor.map.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_5) (CategoryTheory.Limits.colimit.ι.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_5 j) y))
+ forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] [_inst_2 : CategoryTheory.ConcreteCategory.{u1, u1, u2} C _inst_1] {J : Type.{u1}} [_inst_3 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) [_inst_4 : CategoryTheory.Limits.PreservesColimit.{u1, u1, u1, u1, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} J _inst_3 F (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)] [_inst_5 : CategoryTheory.Limits.HasColimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F] {i : J} {j : J} (x : Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) i)) (y : Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j)), (Exists.{succ u1} J (fun (k : J) => Exists.{succ u1} (Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) i k) (fun (f : Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) i k) => Exists.{succ u1} (Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) j k) (fun (g : Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) j k) => Eq.{succ u1} (Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) k)) (Prefunctor.map.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) i) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) k) (Prefunctor.map.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) i k f) x) (Prefunctor.map.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) k) (Prefunctor.map.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j k g) y))))) -> (Eq.{succ u1} (Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_5)) (Prefunctor.map.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) i) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_5) (CategoryTheory.Limits.colimit.ι.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_5 i) x) (Prefunctor.map.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_5) (CategoryTheory.Limits.colimit.ι.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_5 j) y))
Case conversion may be inaccurate. Consider using '#align category_theory.limits.concrete.colimit_rep_eq_of_exists CategoryTheory.Limits.Concrete.colimit_rep_eq_of_existsₓ'. -/
theorem Concrete.colimit_rep_eq_of_exists [HasColimit F] {i j : J} (x : F.obj i) (y : F.obj j)
(h : ∃ (k : _)(f : i ⟶ k)(g : j ⟶ k), F.map f x = F.map g y) :
@@ -333,7 +333,7 @@ variable [IsFiltered J]
lean 3 declaration is
forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] [_inst_2 : CategoryTheory.ConcreteCategory.{u1, u1, u2} C _inst_1] {J : Type.{u1}} [_inst_3 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) [_inst_4 : CategoryTheory.Limits.PreservesColimit.{u1, u1, u1, u1, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} J _inst_3 F (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)] [_inst_5 : CategoryTheory.IsFiltered.{u1, u1} J _inst_3] {D : CategoryTheory.Limits.Cocone.{u1, u1, u1, u2} J _inst_3 C _inst_1 F} {i : J} {j : J}, (CategoryTheory.Limits.IsColimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D) -> (forall (x : coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i)) (y : coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j)), (Eq.{succ u1} (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) i)) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) i)) (fun (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) i)) => (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i)) -> (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) i))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u2, u1, u1} C _inst_1 _inst_2 (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) i)) (CategoryTheory.NatTrans.app.{u1, u1, u1, u2} J _inst_3 C _inst_1 F (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) (CategoryTheory.Limits.Cocone.ι.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D) i) x) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) j)) (fun (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) j)) => (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j)) -> (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) j))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u2, u1, u1} C _inst_1 _inst_2 (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) j)) (CategoryTheory.NatTrans.app.{u1, u1, u1, u2} J _inst_3 C _inst_1 F (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) (CategoryTheory.Limits.Cocone.ι.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D) j) y)) -> (Exists.{succ u1} J (fun (k : J) => Exists.{succ u1} (Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) i k) (fun (f : Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) i k) => Exists.{succ u1} (Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) j k) (fun (g : Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) j k) => Eq.{succ u1} (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) (fun (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) => (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i)) -> (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u2, u1, u1} C _inst_1 _inst_2 (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) (CategoryTheory.Functor.map.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i k f) x) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) (fun (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) => (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j)) -> (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u2, u1, u1} C _inst_1 _inst_2 (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) (CategoryTheory.Functor.map.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j k g) y))))))
but is expected to have type
- forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] [_inst_2 : CategoryTheory.ConcreteCategory.{u1, u1, u2} C _inst_1] {J : Type.{u1}} [_inst_3 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) [_inst_4 : CategoryTheory.Limits.PreservesColimit.{u1, u1, u1, u1, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} J _inst_3 F (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)] [_inst_5 : CategoryTheory.IsFiltered.{u1, u1} J _inst_3] {D : CategoryTheory.Limits.Cocone.{u1, u1, u1, u2} J _inst_3 C _inst_1 F} {i : J} {j : J}, (CategoryTheory.Limits.IsColimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D) -> (forall (x : Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.ConcreteCategory.Forget.{u1, u1, u2} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) i)) (y : Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.ConcreteCategory.Forget.{u1, u1, u2} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j)), (Eq.{succ u1} (Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 (Prefunctor.obj.{succ u1, succ u1, u2, max u1 u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D))) i)) (Prefunctor.map.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) i) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 (Prefunctor.obj.{succ u1, succ u1, u2, max u1 u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D))) i) (CategoryTheory.NatTrans.app.{u1, u1, u1, u2} J _inst_3 C _inst_1 F (Prefunctor.obj.{succ u1, succ u1, u2, max u1 u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) (CategoryTheory.Limits.Cocone.ι.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D) i) x) (Prefunctor.map.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 (Prefunctor.obj.{succ u1, succ u1, u2, max u1 u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D))) j) (CategoryTheory.NatTrans.app.{u1, u1, u1, u2} J _inst_3 C _inst_1 F (Prefunctor.obj.{succ u1, succ u1, u2, max u1 u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) (CategoryTheory.Limits.Cocone.ι.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D) j) y)) -> (Exists.{succ u1} J (fun (k : J) => Exists.{succ u1} (Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) i k) (fun (f : Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) i k) => Exists.{succ u1} (Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) j k) (fun (g : Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) j k) => Eq.{succ u1} (Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) k)) (Prefunctor.map.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) i) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) k) (Prefunctor.map.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) i k f) x) (Prefunctor.map.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) k) (Prefunctor.map.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j k g) y))))))
+ forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] [_inst_2 : CategoryTheory.ConcreteCategory.{u1, u1, u2} C _inst_1] {J : Type.{u1}} [_inst_3 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) [_inst_4 : CategoryTheory.Limits.PreservesColimit.{u1, u1, u1, u1, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} J _inst_3 F (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)] [_inst_5 : CategoryTheory.IsFiltered.{u1, u1} J _inst_3] {D : CategoryTheory.Limits.Cocone.{u1, u1, u1, u2} J _inst_3 C _inst_1 F} {i : J} {j : J}, (CategoryTheory.Limits.IsColimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D) -> (forall (x : Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) i)) (y : Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j)), (Eq.{succ u1} (Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 (Prefunctor.obj.{succ u1, succ u1, u2, max u1 u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D))) i)) (Prefunctor.map.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) i) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 (Prefunctor.obj.{succ u1, succ u1, u2, max u1 u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D))) i) (CategoryTheory.NatTrans.app.{u1, u1, u1, u2} J _inst_3 C _inst_1 F (Prefunctor.obj.{succ u1, succ u1, u2, max u1 u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) (CategoryTheory.Limits.Cocone.ι.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D) i) x) (Prefunctor.map.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 (Prefunctor.obj.{succ u1, succ u1, u2, max u1 u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D))) j) (CategoryTheory.NatTrans.app.{u1, u1, u1, u2} J _inst_3 C _inst_1 F (Prefunctor.obj.{succ u1, succ u1, u2, max u1 u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) (CategoryTheory.Limits.Cocone.ι.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D) j) y)) -> (Exists.{succ u1} J (fun (k : J) => Exists.{succ u1} (Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) i k) (fun (f : Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) i k) => Exists.{succ u1} (Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) j k) (fun (g : Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) j k) => Eq.{succ u1} (Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) k)) (Prefunctor.map.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) i) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) k) (Prefunctor.map.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) i k f) x) (Prefunctor.map.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) k) (Prefunctor.map.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j k g) y))))))
Case conversion may be inaccurate. Consider using '#align category_theory.limits.concrete.is_colimit_exists_of_rep_eq CategoryTheory.Limits.Concrete.isColimit_exists_of_rep_eqₓ'. -/
theorem Concrete.isColimit_exists_of_rep_eq {D : Cocone F} {i j : J} (hD : IsColimit D)
(x : F.obj i) (y : F.obj j) (h : D.ι.app _ x = D.ι.app _ y) :
@@ -381,7 +381,7 @@ theorem Concrete.isColimit_exists_of_rep_eq {D : Cocone F} {i j : J} (hD : IsCol
lean 3 declaration is
forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] [_inst_2 : CategoryTheory.ConcreteCategory.{u1, u1, u2} C _inst_1] {J : Type.{u1}} [_inst_3 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) [_inst_4 : CategoryTheory.Limits.PreservesColimit.{u1, u1, u1, u1, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} J _inst_3 F (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)] [_inst_5 : CategoryTheory.IsFiltered.{u1, u1} J _inst_3] {D : CategoryTheory.Limits.Cocone.{u1, u1, u1, u2} J _inst_3 C _inst_1 F} {i : J} {j : J}, (CategoryTheory.Limits.IsColimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D) -> (forall (x : coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i)) (y : coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j)), Iff (Eq.{succ u1} (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) i)) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) i)) (fun (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) i)) => (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i)) -> (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) i))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u2, u1, u1} C _inst_1 _inst_2 (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) i)) (CategoryTheory.NatTrans.app.{u1, u1, u1, u2} J _inst_3 C _inst_1 F (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) (CategoryTheory.Limits.Cocone.ι.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D) i) x) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) j)) (fun (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) j)) => (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j)) -> (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) j))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u2, u1, u1} C _inst_1 _inst_2 (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) j)) (CategoryTheory.NatTrans.app.{u1, u1, u1, u2} J _inst_3 C _inst_1 F (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) (CategoryTheory.Limits.Cocone.ι.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D) j) y)) (Exists.{succ u1} J (fun (k : J) => Exists.{succ u1} (Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) i k) (fun (f : Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) i k) => Exists.{succ u1} (Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) j k) (fun (g : Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) j k) => Eq.{succ u1} (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) (fun (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) => (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i)) -> (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u2, u1, u1} C _inst_1 _inst_2 (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) (CategoryTheory.Functor.map.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i k f) x) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) (fun (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) => (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j)) -> (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u2, u1, u1} C _inst_1 _inst_2 (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) (CategoryTheory.Functor.map.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j k g) y))))))
but is expected to have type
- forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] [_inst_2 : CategoryTheory.ConcreteCategory.{u1, u1, u2} C _inst_1] {J : Type.{u1}} [_inst_3 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) [_inst_4 : CategoryTheory.Limits.PreservesColimit.{u1, u1, u1, u1, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} J _inst_3 F (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)] [_inst_5 : CategoryTheory.IsFiltered.{u1, u1} J _inst_3] {D : CategoryTheory.Limits.Cocone.{u1, u1, u1, u2} J _inst_3 C _inst_1 F} {i : J} {j : J}, (CategoryTheory.Limits.IsColimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D) -> (forall (x : Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.ConcreteCategory.Forget.{u1, u1, u2} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) i)) (y : Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.ConcreteCategory.Forget.{u1, u1, u2} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j)), Iff (Eq.{succ u1} (Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 (Prefunctor.obj.{succ u1, succ u1, u2, max u1 u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D))) i)) (Prefunctor.map.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) i) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 (Prefunctor.obj.{succ u1, succ u1, u2, max u1 u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D))) i) (CategoryTheory.NatTrans.app.{u1, u1, u1, u2} J _inst_3 C _inst_1 F (Prefunctor.obj.{succ u1, succ u1, u2, max u1 u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) (CategoryTheory.Limits.Cocone.ι.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D) i) x) (Prefunctor.map.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 (Prefunctor.obj.{succ u1, succ u1, u2, max u1 u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D))) j) (CategoryTheory.NatTrans.app.{u1, u1, u1, u2} J _inst_3 C _inst_1 F (Prefunctor.obj.{succ u1, succ u1, u2, max u1 u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) (CategoryTheory.Limits.Cocone.ι.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D) j) y)) (Exists.{succ u1} J (fun (k : J) => Exists.{succ u1} (Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) i k) (fun (f : Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) i k) => Exists.{succ u1} (Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) j k) (fun (g : Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) j k) => Eq.{succ u1} (Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) k)) (Prefunctor.map.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) i) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) k) (Prefunctor.map.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) i k f) x) (Prefunctor.map.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) k) (Prefunctor.map.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j k g) y))))))
+ forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] [_inst_2 : CategoryTheory.ConcreteCategory.{u1, u1, u2} C _inst_1] {J : Type.{u1}} [_inst_3 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) [_inst_4 : CategoryTheory.Limits.PreservesColimit.{u1, u1, u1, u1, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} J _inst_3 F (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)] [_inst_5 : CategoryTheory.IsFiltered.{u1, u1} J _inst_3] {D : CategoryTheory.Limits.Cocone.{u1, u1, u1, u2} J _inst_3 C _inst_1 F} {i : J} {j : J}, (CategoryTheory.Limits.IsColimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D) -> (forall (x : Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) i)) (y : Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j)), Iff (Eq.{succ u1} (Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 (Prefunctor.obj.{succ u1, succ u1, u2, max u1 u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D))) i)) (Prefunctor.map.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) i) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 (Prefunctor.obj.{succ u1, succ u1, u2, max u1 u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D))) i) (CategoryTheory.NatTrans.app.{u1, u1, u1, u2} J _inst_3 C _inst_1 F (Prefunctor.obj.{succ u1, succ u1, u2, max u1 u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) (CategoryTheory.Limits.Cocone.ι.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D) i) x) (Prefunctor.map.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 (Prefunctor.obj.{succ u1, succ u1, u2, max u1 u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D))) j) (CategoryTheory.NatTrans.app.{u1, u1, u1, u2} J _inst_3 C _inst_1 F (Prefunctor.obj.{succ u1, succ u1, u2, max u1 u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) (CategoryTheory.Limits.Cocone.ι.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D) j) y)) (Exists.{succ u1} J (fun (k : J) => Exists.{succ u1} (Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) i k) (fun (f : Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) i k) => Exists.{succ u1} (Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) j k) (fun (g : Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) j k) => Eq.{succ u1} (Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) k)) (Prefunctor.map.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) i) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) k) (Prefunctor.map.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) i k f) x) (Prefunctor.map.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) k) (Prefunctor.map.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j k g) y))))))
Case conversion may be inaccurate. Consider using '#align category_theory.limits.concrete.is_colimit_rep_eq_iff_exists CategoryTheory.Limits.Concrete.isColimit_rep_eq_iff_existsₓ'. -/
theorem Concrete.isColimit_rep_eq_iff_exists {D : Cocone F} {i j : J} (hD : IsColimit D)
(x : F.obj i) (y : F.obj j) :
@@ -393,7 +393,7 @@ theorem Concrete.isColimit_rep_eq_iff_exists {D : Cocone F} {i j : J} (hD : IsCo
lean 3 declaration is
forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] [_inst_2 : CategoryTheory.ConcreteCategory.{u1, u1, u2} C _inst_1] {J : Type.{u1}} [_inst_3 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) [_inst_4 : CategoryTheory.Limits.PreservesColimit.{u1, u1, u1, u1, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} J _inst_3 F (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)] [_inst_5 : CategoryTheory.IsFiltered.{u1, u1} J _inst_3] [_inst_6 : CategoryTheory.Limits.HasColimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F] {i : J} {j : J} (x : coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i)) (y : coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j)), (Eq.{succ u1} (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_6)) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_6)) (fun (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_6)) => (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i)) -> (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_6))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u2, u1, u1} C _inst_1 _inst_2 (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_6)) (CategoryTheory.Limits.colimit.ι.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_6 i) x) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_6)) (fun (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_6)) => (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j)) -> (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_6))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u2, u1, u1} C _inst_1 _inst_2 (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_6)) (CategoryTheory.Limits.colimit.ι.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_6 j) y)) -> (Exists.{succ u1} J (fun (k : J) => Exists.{succ u1} (Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) i k) (fun (f : Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) i k) => Exists.{succ u1} (Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) j k) (fun (g : Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) j k) => Eq.{succ u1} (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) (fun (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) => (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i)) -> (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u2, u1, u1} C _inst_1 _inst_2 (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) (CategoryTheory.Functor.map.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i k f) x) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) (fun (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) => (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j)) -> (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u2, u1, u1} C _inst_1 _inst_2 (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) (CategoryTheory.Functor.map.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j k g) y)))))
but is expected to have type
- forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] [_inst_2 : CategoryTheory.ConcreteCategory.{u1, u1, u2} C _inst_1] {J : Type.{u1}} [_inst_3 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) [_inst_4 : CategoryTheory.Limits.PreservesColimit.{u1, u1, u1, u1, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} J _inst_3 F (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)] [_inst_5 : CategoryTheory.IsFiltered.{u1, u1} J _inst_3] [_inst_6 : CategoryTheory.Limits.HasColimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F] {i : J} {j : J} (x : Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.ConcreteCategory.Forget.{u1, u1, u2} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) i)) (y : Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.ConcreteCategory.Forget.{u1, u1, u2} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j)), (Eq.{succ u1} (Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_6)) (Prefunctor.map.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) i) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_6) (CategoryTheory.Limits.colimit.ι.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_6 i) x) (Prefunctor.map.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_6) (CategoryTheory.Limits.colimit.ι.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_6 j) y)) -> (Exists.{succ u1} J (fun (k : J) => Exists.{succ u1} (Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) i k) (fun (f : Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) i k) => Exists.{succ u1} (Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) j k) (fun (g : Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) j k) => Eq.{succ u1} (Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) k)) (Prefunctor.map.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) i) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) k) (Prefunctor.map.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) i k f) x) (Prefunctor.map.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) k) (Prefunctor.map.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j k g) y)))))
+ forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] [_inst_2 : CategoryTheory.ConcreteCategory.{u1, u1, u2} C _inst_1] {J : Type.{u1}} [_inst_3 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) [_inst_4 : CategoryTheory.Limits.PreservesColimit.{u1, u1, u1, u1, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} J _inst_3 F (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)] [_inst_5 : CategoryTheory.IsFiltered.{u1, u1} J _inst_3] [_inst_6 : CategoryTheory.Limits.HasColimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F] {i : J} {j : J} (x : Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) i)) (y : Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j)), (Eq.{succ u1} (Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_6)) (Prefunctor.map.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) i) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_6) (CategoryTheory.Limits.colimit.ι.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_6 i) x) (Prefunctor.map.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_6) (CategoryTheory.Limits.colimit.ι.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_6 j) y)) -> (Exists.{succ u1} J (fun (k : J) => Exists.{succ u1} (Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) i k) (fun (f : Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) i k) => Exists.{succ u1} (Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) j k) (fun (g : Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) j k) => Eq.{succ u1} (Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) k)) (Prefunctor.map.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) i) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) k) (Prefunctor.map.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) i k f) x) (Prefunctor.map.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) k) (Prefunctor.map.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j k g) y)))))
Case conversion may be inaccurate. Consider using '#align category_theory.limits.concrete.colimit_exists_of_rep_eq CategoryTheory.Limits.Concrete.colimit_exists_of_rep_eqₓ'. -/
theorem Concrete.colimit_exists_of_rep_eq [HasColimit F] {i j : J} (x : F.obj i) (y : F.obj j)
(h : colimit.ι F _ x = colimit.ι F _ y) :
@@ -405,7 +405,7 @@ theorem Concrete.colimit_exists_of_rep_eq [HasColimit F] {i j : J} (x : F.obj i)
lean 3 declaration is
forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] [_inst_2 : CategoryTheory.ConcreteCategory.{u1, u1, u2} C _inst_1] {J : Type.{u1}} [_inst_3 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) [_inst_4 : CategoryTheory.Limits.PreservesColimit.{u1, u1, u1, u1, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} J _inst_3 F (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)] [_inst_5 : CategoryTheory.IsFiltered.{u1, u1} J _inst_3] [_inst_6 : CategoryTheory.Limits.HasColimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F] {i : J} {j : J} (x : coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i)) (y : coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j)), Iff (Eq.{succ u1} (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_6)) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_6)) (fun (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_6)) => (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i)) -> (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_6))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u2, u1, u1} C _inst_1 _inst_2 (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_6)) (CategoryTheory.Limits.colimit.ι.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_6 i) x) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_6)) (fun (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_6)) => (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j)) -> (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_6))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u2, u1, u1} C _inst_1 _inst_2 (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_6)) (CategoryTheory.Limits.colimit.ι.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_6 j) y)) (Exists.{succ u1} J (fun (k : J) => Exists.{succ u1} (Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) i k) (fun (f : Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) i k) => Exists.{succ u1} (Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) j k) (fun (g : Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) j k) => Eq.{succ u1} (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) (fun (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) => (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i)) -> (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u2, u1, u1} C _inst_1 _inst_2 (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) (CategoryTheory.Functor.map.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i k f) x) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) (fun (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) => (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j)) -> (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u2, u1, u1} C _inst_1 _inst_2 (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) (CategoryTheory.Functor.map.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j k g) y)))))
but is expected to have type
- forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] [_inst_2 : CategoryTheory.ConcreteCategory.{u1, u1, u2} C _inst_1] {J : Type.{u1}} [_inst_3 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) [_inst_4 : CategoryTheory.Limits.PreservesColimit.{u1, u1, u1, u1, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} J _inst_3 F (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)] [_inst_5 : CategoryTheory.IsFiltered.{u1, u1} J _inst_3] [_inst_6 : CategoryTheory.Limits.HasColimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F] {i : J} {j : J} (x : Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.ConcreteCategory.Forget.{u1, u1, u2} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) i)) (y : Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.ConcreteCategory.Forget.{u1, u1, u2} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j)), Iff (Eq.{succ u1} (Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_6)) (Prefunctor.map.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) i) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_6) (CategoryTheory.Limits.colimit.ι.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_6 i) x) (Prefunctor.map.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_6) (CategoryTheory.Limits.colimit.ι.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_6 j) y)) (Exists.{succ u1} J (fun (k : J) => Exists.{succ u1} (Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) i k) (fun (f : Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) i k) => Exists.{succ u1} (Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) j k) (fun (g : Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) j k) => Eq.{succ u1} (Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) k)) (Prefunctor.map.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) i) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) k) (Prefunctor.map.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) i k f) x) (Prefunctor.map.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) k) (Prefunctor.map.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j k g) y)))))
+ forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] [_inst_2 : CategoryTheory.ConcreteCategory.{u1, u1, u2} C _inst_1] {J : Type.{u1}} [_inst_3 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) [_inst_4 : CategoryTheory.Limits.PreservesColimit.{u1, u1, u1, u1, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} J _inst_3 F (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)] [_inst_5 : CategoryTheory.IsFiltered.{u1, u1} J _inst_3] [_inst_6 : CategoryTheory.Limits.HasColimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F] {i : J} {j : J} (x : Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) i)) (y : Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j)), Iff (Eq.{succ u1} (Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_6)) (Prefunctor.map.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) i) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_6) (CategoryTheory.Limits.colimit.ι.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_6 i) x) (Prefunctor.map.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_6) (CategoryTheory.Limits.colimit.ι.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_6 j) y)) (Exists.{succ u1} J (fun (k : J) => Exists.{succ u1} (Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) i k) (fun (f : Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) i k) => Exists.{succ u1} (Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) j k) (fun (g : Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) j k) => Eq.{succ u1} (Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) k)) (Prefunctor.map.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) i) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) k) (Prefunctor.map.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) i k f) x) (Prefunctor.map.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) k) (Prefunctor.map.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j k g) y)))))
Case conversion may be inaccurate. Consider using '#align category_theory.limits.concrete.colimit_rep_eq_iff_exists CategoryTheory.Limits.Concrete.colimit_rep_eq_iff_existsₓ'. -/
theorem Concrete.colimit_rep_eq_iff_exists [HasColimit F] {i j : J} (x : F.obj i) (y : F.obj j) :
colimit.ι F i x = colimit.ι F j y ↔ ∃ (k : _)(f : i ⟶ k)(g : j ⟶ k), F.map f x = F.map g y :=
mathlib commit https://github.com/leanprover-community/mathlib/commit/55d771df074d0dd020139ee1cd4b95521422df9f
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
Authors: Scott Morrison, Adam Topaz
! This file was ported from Lean 3 source module category_theory.limits.concrete_category
-! leanprover-community/mathlib commit c3019c79074b0619edb4b27553a91b2e82242395
+! leanprover-community/mathlib commit cb3ceec8485239a61ed51d944cb9a95b68c6bafc
! Please do not edit these lines, except to modify the commit id
! if you have ported upstream changes.
-/
@@ -18,6 +18,9 @@ import Mathbin.Tactic.ApplyFun
/-!
# Facts about (co)limits of functors into concrete categories
+
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/b19481deb571022990f1baa9cbf9172e6757a479
@@ -34,6 +34,12 @@ section Limits
variable {C : Type u} [Category.{v} C] [ConcreteCategory.{max w v} C] {J : Type w} [SmallCategory J]
(F : J ⥤ C) [PreservesLimit F (forget C)]
+/- warning: category_theory.limits.concrete.to_product_injective_of_is_limit -> CategoryTheory.Limits.Concrete.to_product_injective_of_isLimit is a dubious translation:
+lean 3 declaration is
+ forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u2, u3} C] [_inst_2 : CategoryTheory.ConcreteCategory.{max u1 u2, u2, u3} C _inst_1] {J : Type.{u1}} [_inst_3 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) [_inst_4 : CategoryTheory.Limits.PreservesLimit.{u1, u1, u2, max u1 u2, u3, succ (max u1 u2)} C _inst_1 Type.{max u1 u2} CategoryTheory.types.{max u1 u2} J _inst_3 F (CategoryTheory.forget.{u3, max u1 u2, u2} C _inst_1 _inst_2)] {D : CategoryTheory.Limits.Cone.{u1, u2, u1, u3} J _inst_3 C _inst_1 F}, (CategoryTheory.Limits.IsLimit.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D) -> (Function.Injective.{succ (max u1 u2), max (succ u1) (succ (max u1 u2))} (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.Cone.pt.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D)) (forall (j : J), coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u2, u1, u3} J _inst_3 C _inst_1 F j)) (fun (x : coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.Cone.pt.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D)) (j : J) => coeFn.{succ u2, succ (max u1 u2)} (Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u2, u1, u3} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u2, max u1 u2, u3, max u1 u2 u1 u3} C _inst_1 (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cone.pt.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D)) j) (CategoryTheory.Functor.obj.{u1, u2, u1, u3} J _inst_3 C _inst_1 F j)) (fun (f : Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u2, u1, u3} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u2, max u1 u2, u3, max u1 u2 u1 u3} C _inst_1 (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cone.pt.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D)) j) (CategoryTheory.Functor.obj.{u1, u2, u1, u3} J _inst_3 C _inst_1 F j)) => (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u2, u1, u3} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u2, max u1 u2, u3, max u1 u2 u1 u3} C _inst_1 (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cone.pt.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D)) j)) -> (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u2, u1, u3} J _inst_3 C _inst_1 F j))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u3, u2, max u1 u2} C _inst_1 _inst_2 (CategoryTheory.Functor.obj.{u1, u2, u1, u3} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u2, max u1 u2, u3, max u1 u2 u1 u3} C _inst_1 (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cone.pt.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D)) j) (CategoryTheory.Functor.obj.{u1, u2, u1, u3} J _inst_3 C _inst_1 F j)) (CategoryTheory.NatTrans.app.{u1, u2, u1, u3} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u2, max u1 u2, u3, max u1 u2 u1 u3} C _inst_1 (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cone.pt.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D)) F (CategoryTheory.Limits.Cone.π.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D) j) x))
+but is expected to have type
+ forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u2, u3} C] [_inst_2 : CategoryTheory.ConcreteCategory.{max u1 u2, u2, u3} C _inst_1] {J : Type.{u1}} [_inst_3 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) [_inst_4 : CategoryTheory.Limits.PreservesLimit.{u1, u1, u2, max u2 u1, u3, max (succ u2) (succ u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} J _inst_3 F (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)] {D : CategoryTheory.Limits.Cone.{u1, u2, u1, u3} J _inst_3 C _inst_1 F}, (CategoryTheory.Limits.IsLimit.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D) -> (Function.Injective.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.ConcreteCategory.Forget.{max u2 u1, u2, u3} C _inst_1 _inst_2)) (CategoryTheory.Limits.Cone.pt.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D)) (forall (j : J), Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u2, u1, u3} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u1, u3} J _inst_3 C _inst_1 F) j)) (fun (x : Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.ConcreteCategory.Forget.{max u2 u1, u2, u3} C _inst_1 _inst_2)) (CategoryTheory.Limits.Cone.pt.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D)) (j : J) => Prefunctor.map.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u2, u1, u3} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u1, u3} J _inst_3 C _inst_1 (Prefunctor.obj.{succ u2, max (succ u1) (succ u2), u3, max (max u1 u2) u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, max (max u1 u3) u2} (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Category.toCategoryStruct.{max u1 u2, max (max u1 u3) u2} (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u2, u1, u3} J _inst_3 C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{u2, max u1 u2, u3, max (max u1 u3) u2} C _inst_1 (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u2, u1, u3} J _inst_3 C _inst_1)) (CategoryTheory.Limits.Cone.pt.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D))) j) (Prefunctor.obj.{succ u1, succ u2, u1, u3} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u1, u3} J _inst_3 C _inst_1 F) j) (CategoryTheory.NatTrans.app.{u1, u2, u1, u3} J _inst_3 C _inst_1 (Prefunctor.obj.{succ u2, max (succ u1) (succ u2), u3, max (max u1 u2) u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, max (max u1 u3) u2} (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Category.toCategoryStruct.{max u1 u2, max (max u1 u3) u2} (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u2, u1, u3} J _inst_3 C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{u2, max u1 u2, u3, max (max u1 u3) u2} C _inst_1 (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u2, u1, u3} J _inst_3 C _inst_1)) (CategoryTheory.Limits.Cone.pt.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D)) F (CategoryTheory.Limits.Cone.π.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D) j) x))
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.concrete.to_product_injective_of_is_limit CategoryTheory.Limits.Concrete.to_product_injective_of_isLimitₓ'. -/
theorem Concrete.to_product_injective_of_isLimit {D : Cone F} (hD : IsLimit D) :
Function.Injective fun (x : D.pt) (j : J) => D.π.app j x :=
by
@@ -51,11 +57,23 @@ theorem Concrete.to_product_injective_of_isLimit {D : Cone F} (hD : IsLimit D) :
apply Subtype.ext
#align category_theory.limits.concrete.to_product_injective_of_is_limit CategoryTheory.Limits.Concrete.to_product_injective_of_isLimit
+/- warning: category_theory.limits.concrete.is_limit_ext -> CategoryTheory.Limits.Concrete.isLimit_ext is a dubious translation:
+lean 3 declaration is
+ forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u2, u3} C] [_inst_2 : CategoryTheory.ConcreteCategory.{max u1 u2, u2, u3} C _inst_1] {J : Type.{u1}} [_inst_3 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) [_inst_4 : CategoryTheory.Limits.PreservesLimit.{u1, u1, u2, max u1 u2, u3, succ (max u1 u2)} C _inst_1 Type.{max u1 u2} CategoryTheory.types.{max u1 u2} J _inst_3 F (CategoryTheory.forget.{u3, max u1 u2, u2} C _inst_1 _inst_2)] {D : CategoryTheory.Limits.Cone.{u1, u2, u1, u3} J _inst_3 C _inst_1 F}, (CategoryTheory.Limits.IsLimit.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D) -> (forall (x : coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.Cone.pt.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D)) (y : coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.Cone.pt.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D)), (forall (j : J), Eq.{succ (max u1 u2)} (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u2, u1, u3} J _inst_3 C _inst_1 F j)) (coeFn.{succ u2, succ (max u1 u2)} (Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u2, u1, u3} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u2, max u1 u2, u3, max u1 u2 u1 u3} C _inst_1 (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cone.pt.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D)) j) (CategoryTheory.Functor.obj.{u1, u2, u1, u3} J _inst_3 C _inst_1 F j)) (fun (f : Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u2, u1, u3} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u2, max u1 u2, u3, max u1 u2 u1 u3} C _inst_1 (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cone.pt.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D)) j) (CategoryTheory.Functor.obj.{u1, u2, u1, u3} J _inst_3 C _inst_1 F j)) => (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u2, u1, u3} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u2, max u1 u2, u3, max u1 u2 u1 u3} C _inst_1 (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cone.pt.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D)) j)) -> (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u2, u1, u3} J _inst_3 C _inst_1 F j))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u3, u2, max u1 u2} C _inst_1 _inst_2 (CategoryTheory.Functor.obj.{u1, u2, u1, u3} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u2, max u1 u2, u3, max u1 u2 u1 u3} C _inst_1 (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cone.pt.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D)) j) (CategoryTheory.Functor.obj.{u1, u2, u1, u3} J _inst_3 C _inst_1 F j)) (CategoryTheory.NatTrans.app.{u1, u2, u1, u3} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u2, max u1 u2, u3, max u1 u2 u1 u3} C _inst_1 (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cone.pt.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D)) F (CategoryTheory.Limits.Cone.π.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D) j) x) (coeFn.{succ u2, succ (max u1 u2)} (Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u2, u1, u3} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u2, max u1 u2, u3, max u1 u2 u1 u3} C _inst_1 (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cone.pt.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D)) j) (CategoryTheory.Functor.obj.{u1, u2, u1, u3} J _inst_3 C _inst_1 F j)) (fun (f : Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u2, u1, u3} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u2, max u1 u2, u3, max u1 u2 u1 u3} C _inst_1 (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cone.pt.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D)) j) (CategoryTheory.Functor.obj.{u1, u2, u1, u3} J _inst_3 C _inst_1 F j)) => (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u2, u1, u3} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u2, max u1 u2, u3, max u1 u2 u1 u3} C _inst_1 (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cone.pt.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D)) j)) -> (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u2, u1, u3} J _inst_3 C _inst_1 F j))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u3, u2, max u1 u2} C _inst_1 _inst_2 (CategoryTheory.Functor.obj.{u1, u2, u1, u3} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u2, max u1 u2, u3, max u1 u2 u1 u3} C _inst_1 (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cone.pt.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D)) j) (CategoryTheory.Functor.obj.{u1, u2, u1, u3} J _inst_3 C _inst_1 F j)) (CategoryTheory.NatTrans.app.{u1, u2, u1, u3} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u2, max u1 u2, u3, max u1 u2 u1 u3} C _inst_1 (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cone.pt.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D)) F (CategoryTheory.Limits.Cone.π.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D) j) y)) -> (Eq.{succ (max u1 u2)} (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.Cone.pt.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D)) x y))
+but is expected to have type
+ forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u2, u3} C] [_inst_2 : CategoryTheory.ConcreteCategory.{max u1 u2, u2, u3} C _inst_1] {J : Type.{u1}} [_inst_3 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) [_inst_4 : CategoryTheory.Limits.PreservesLimit.{u1, u1, u2, max u2 u1, u3, max (succ u2) (succ u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} J _inst_3 F (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)] {D : CategoryTheory.Limits.Cone.{u1, u2, u1, u3} J _inst_3 C _inst_1 F}, (CategoryTheory.Limits.IsLimit.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D) -> (forall (x : Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.ConcreteCategory.Forget.{max u2 u1, u2, u3} C _inst_1 _inst_2)) (CategoryTheory.Limits.Cone.pt.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D)) (y : Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.ConcreteCategory.Forget.{max u2 u1, u2, u3} C _inst_1 _inst_2)) (CategoryTheory.Limits.Cone.pt.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D)), (forall (j : J), Eq.{max (succ u2) (succ u1)} (Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u2, u1, u3} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u1, u3} J _inst_3 C _inst_1 F) j)) (Prefunctor.map.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u2, u1, u3} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u1, u3} J _inst_3 C _inst_1 (Prefunctor.obj.{succ u2, max (succ u1) (succ u2), u3, max (max u1 u2) u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, max (max u1 u3) u2} (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Category.toCategoryStruct.{max u1 u2, max (max u1 u3) u2} (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u2, u1, u3} J _inst_3 C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{u2, max u1 u2, u3, max (max u1 u3) u2} C _inst_1 (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u2, u1, u3} J _inst_3 C _inst_1)) (CategoryTheory.Limits.Cone.pt.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D))) j) (Prefunctor.obj.{succ u1, succ u2, u1, u3} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u1, u3} J _inst_3 C _inst_1 F) j) (CategoryTheory.NatTrans.app.{u1, u2, u1, u3} J _inst_3 C _inst_1 (Prefunctor.obj.{succ u2, max (succ u1) (succ u2), u3, max (max u1 u2) u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, max (max u1 u3) u2} (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Category.toCategoryStruct.{max u1 u2, max (max u1 u3) u2} (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u2, u1, u3} J _inst_3 C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{u2, max u1 u2, u3, max (max u1 u3) u2} C _inst_1 (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u2, u1, u3} J _inst_3 C _inst_1)) (CategoryTheory.Limits.Cone.pt.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D)) F (CategoryTheory.Limits.Cone.π.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D) j) x) (Prefunctor.map.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u2, u1, u3} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u1, u3} J _inst_3 C _inst_1 (Prefunctor.obj.{succ u2, max (succ u1) (succ u2), u3, max (max u1 u2) u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, max (max u1 u3) u2} (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Category.toCategoryStruct.{max u1 u2, max (max u1 u3) u2} (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u2, u1, u3} J _inst_3 C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{u2, max u1 u2, u3, max (max u1 u3) u2} C _inst_1 (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u2, u1, u3} J _inst_3 C _inst_1)) (CategoryTheory.Limits.Cone.pt.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D))) j) (Prefunctor.obj.{succ u1, succ u2, u1, u3} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u1, u3} J _inst_3 C _inst_1 F) j) (CategoryTheory.NatTrans.app.{u1, u2, u1, u3} J _inst_3 C _inst_1 (Prefunctor.obj.{succ u2, max (succ u1) (succ u2), u3, max (max u1 u2) u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u2, max (max u1 u3) u2} (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Category.toCategoryStruct.{max u1 u2, max (max u1 u3) u2} (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u2, u1, u3} J _inst_3 C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{u2, max u1 u2, u3, max (max u1 u3) u2} C _inst_1 (CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u2, u1, u3} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u2, u1, u3} J _inst_3 C _inst_1)) (CategoryTheory.Limits.Cone.pt.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D)) F (CategoryTheory.Limits.Cone.π.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D) j) y)) -> (Eq.{max (succ u2) (succ u1)} (Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.ConcreteCategory.Forget.{max u2 u1, u2, u3} C _inst_1 _inst_2)) (CategoryTheory.Limits.Cone.pt.{u1, u2, u1, u3} J _inst_3 C _inst_1 F D)) x y))
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.concrete.is_limit_ext CategoryTheory.Limits.Concrete.isLimit_extₓ'. -/
theorem Concrete.isLimit_ext {D : Cone F} (hD : IsLimit D) (x y : D.pt) :
(∀ j, D.π.app j x = D.π.app j y) → x = y := fun h =>
Concrete.to_product_injective_of_isLimit _ hD (funext h)
#align category_theory.limits.concrete.is_limit_ext CategoryTheory.Limits.Concrete.isLimit_ext
+/- warning: category_theory.limits.concrete.limit_ext -> CategoryTheory.Limits.Concrete.limit_ext is a dubious translation:
+lean 3 declaration is
+ forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u2, u3} C] [_inst_2 : CategoryTheory.ConcreteCategory.{max u1 u2, u2, u3} C _inst_1] {J : Type.{u1}} [_inst_3 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) [_inst_4 : CategoryTheory.Limits.PreservesLimit.{u1, u1, u2, max u1 u2, u3, succ (max u1 u2)} C _inst_1 Type.{max u1 u2} CategoryTheory.types.{max u1 u2} J _inst_3 F (CategoryTheory.forget.{u3, max u1 u2, u2} C _inst_1 _inst_2)] [_inst_5 : CategoryTheory.Limits.HasLimit.{u1, u1, u2, u3} J _inst_3 C _inst_1 F] (x : coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.limit.{u1, u1, u2, u3} J _inst_3 C _inst_1 F _inst_5)) (y : coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.limit.{u1, u1, u2, u3} J _inst_3 C _inst_1 F _inst_5)), (forall (j : J), Eq.{succ (max u1 u2)} (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u2, u1, u3} J _inst_3 C _inst_1 F j)) (coeFn.{succ u2, succ (max u1 u2)} (Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.limit.{u1, u1, u2, u3} J _inst_3 C _inst_1 F _inst_5) (CategoryTheory.Functor.obj.{u1, u2, u1, u3} J _inst_3 C _inst_1 F j)) (fun (f : Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.limit.{u1, u1, u2, u3} J _inst_3 C _inst_1 F _inst_5) (CategoryTheory.Functor.obj.{u1, u2, u1, u3} J _inst_3 C _inst_1 F j)) => (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.limit.{u1, u1, u2, u3} J _inst_3 C _inst_1 F _inst_5)) -> (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u2, u1, u3} J _inst_3 C _inst_1 F j))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u3, u2, max u1 u2} C _inst_1 _inst_2 (CategoryTheory.Limits.limit.{u1, u1, u2, u3} J _inst_3 C _inst_1 F _inst_5) (CategoryTheory.Functor.obj.{u1, u2, u1, u3} J _inst_3 C _inst_1 F j)) (CategoryTheory.Limits.limit.π.{u1, u1, u2, u3} J _inst_3 C _inst_1 F _inst_5 j) x) (coeFn.{succ u2, succ (max u1 u2)} (Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.limit.{u1, u1, u2, u3} J _inst_3 C _inst_1 F _inst_5) (CategoryTheory.Functor.obj.{u1, u2, u1, u3} J _inst_3 C _inst_1 F j)) (fun (f : Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.limit.{u1, u1, u2, u3} J _inst_3 C _inst_1 F _inst_5) (CategoryTheory.Functor.obj.{u1, u2, u1, u3} J _inst_3 C _inst_1 F j)) => (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.limit.{u1, u1, u2, u3} J _inst_3 C _inst_1 F _inst_5)) -> (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u2, u1, u3} J _inst_3 C _inst_1 F j))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u3, u2, max u1 u2} C _inst_1 _inst_2 (CategoryTheory.Limits.limit.{u1, u1, u2, u3} J _inst_3 C _inst_1 F _inst_5) (CategoryTheory.Functor.obj.{u1, u2, u1, u3} J _inst_3 C _inst_1 F j)) (CategoryTheory.Limits.limit.π.{u1, u1, u2, u3} J _inst_3 C _inst_1 F _inst_5 j) y)) -> (Eq.{succ (max u1 u2)} (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.limit.{u1, u1, u2, u3} J _inst_3 C _inst_1 F _inst_5)) x y)
+but is expected to have type
+ forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u2, u3} C] [_inst_2 : CategoryTheory.ConcreteCategory.{max u1 u2, u2, u3} C _inst_1] {J : Type.{u1}} [_inst_3 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u2, u1, u3} J _inst_3 C _inst_1) [_inst_4 : CategoryTheory.Limits.PreservesLimit.{u1, u1, u2, max u2 u1, u3, max (succ u2) (succ u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} J _inst_3 F (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)] [_inst_5 : CategoryTheory.Limits.HasLimit.{u1, u1, u2, u3} J _inst_3 C _inst_1 F] (x : Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.ConcreteCategory.Forget.{max u2 u1, u2, u3} C _inst_1 _inst_2)) (CategoryTheory.Limits.limit.{u1, u1, u2, u3} J _inst_3 C _inst_1 F _inst_5)) (y : Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.ConcreteCategory.Forget.{max u2 u1, u2, u3} C _inst_1 _inst_2)) (CategoryTheory.Limits.limit.{u1, u1, u2, u3} J _inst_3 C _inst_1 F _inst_5)), (forall (j : J), Eq.{max (succ u2) (succ u1)} (Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u2, u1, u3} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u1, u3} J _inst_3 C _inst_1 F) j)) (Prefunctor.map.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.limit.{u1, u1, u2, u3} J _inst_3 C _inst_1 F _inst_5) (Prefunctor.obj.{succ u1, succ u2, u1, u3} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u1, u3} J _inst_3 C _inst_1 F) j) (CategoryTheory.Limits.limit.π.{u1, u1, u2, u3} J _inst_3 C _inst_1 F _inst_5 j) x) (Prefunctor.map.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.limit.{u1, u1, u2, u3} J _inst_3 C _inst_1 F _inst_5) (Prefunctor.obj.{succ u1, succ u2, u1, u3} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u1, u3} J _inst_3 C _inst_1 F) j) (CategoryTheory.Limits.limit.π.{u1, u1, u2, u3} J _inst_3 C _inst_1 F _inst_5 j) y)) -> (Eq.{max (succ u2) (succ u1)} (Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.ConcreteCategory.Forget.{max u2 u1, u2, u3} C _inst_1 _inst_2)) (CategoryTheory.Limits.limit.{u1, u1, u2, u3} J _inst_3 C _inst_1 F _inst_5)) x y)
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.concrete.limit_ext CategoryTheory.Limits.Concrete.limit_extₓ'. -/
theorem Concrete.limit_ext [HasLimit F] (x y : limit F) :
(∀ j, limit.π F j x = limit.π F j y) → x = y :=
Concrete.isLimit_ext F (limit.isLimit _) _ _
@@ -67,6 +85,7 @@ open WidePullback
open WidePullbackShape
+#print CategoryTheory.Limits.Concrete.widePullback_ext /-
theorem Concrete.widePullback_ext {B : C} {ι : Type w} {X : ι → C} (f : ∀ j : ι, X j ⟶ B)
[HasWidePullback B X f] [PreservesLimit (wideCospan B X f) (forget C)]
(x y : widePullback B X f) (h₀ : base f x = base f y) (h : ∀ j, π f j x = π f j y) : x = y :=
@@ -76,7 +95,9 @@ theorem Concrete.widePullback_ext {B : C} {ι : Type w} {X : ι → C} (f : ∀
· exact h₀
· apply h
#align category_theory.limits.concrete.wide_pullback_ext CategoryTheory.Limits.Concrete.widePullback_ext
+-/
+#print CategoryTheory.Limits.Concrete.widePullback_ext' /-
theorem Concrete.widePullback_ext' {B : C} {ι : Type w} [Nonempty ι] {X : ι → C}
(f : ∀ j : ι, X j ⟶ B) [HasWidePullback.{w} B X f]
[PreservesLimit (wideCospan B X f) (forget C)] (x y : widePullback B X f)
@@ -86,11 +107,13 @@ theorem Concrete.widePullback_ext' {B : C} {ι : Type w} [Nonempty ι] {X : ι
inhabit ι
simp only [← π_arrow f (Inhabited.default _), comp_apply, h]
#align category_theory.limits.concrete.wide_pullback_ext' CategoryTheory.Limits.Concrete.widePullback_ext'
+-/
end WidePullback
section Multiequalizer
+#print CategoryTheory.Limits.Concrete.multiequalizer_ext /-
theorem Concrete.multiequalizer_ext {I : MulticospanIndex.{w} C} [HasMultiequalizer I]
[PreservesLimit I.multicospan (forget C)] (x y : multiequalizer I)
(h : ∀ t : I.L, Multiequalizer.ι I t x = Multiequalizer.ι I t y) : x = y :=
@@ -100,7 +123,14 @@ theorem Concrete.multiequalizer_ext {I : MulticospanIndex.{w} C} [HasMultiequali
· apply h
· rw [← limit.w I.multicospan (walking_multicospan.hom.fst b), comp_apply, comp_apply, h]
#align category_theory.limits.concrete.multiequalizer_ext CategoryTheory.Limits.Concrete.multiequalizer_ext
+-/
+/- warning: category_theory.limits.concrete.multiequalizer_equiv_aux -> CategoryTheory.Limits.Concrete.multiequalizerEquivAux is a dubious translation:
+lean 3 declaration is
+ forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u2, u3} C] [_inst_2 : CategoryTheory.ConcreteCategory.{max u1 u2, u2, u3} C _inst_1] (I : CategoryTheory.Limits.MulticospanIndex.{u4, u2, u3} C _inst_1), Equiv.{succ (max u4 u1 u2), max 1 (succ u4) (succ (max u1 u2))} (coeSort.{succ (max u4 u1 u2), succ (succ (max u4 u1 u2))} (Set.{max u4 u1 u2} (forall (j : CategoryTheory.Limits.WalkingMulticospan.{u4} (CategoryTheory.Limits.MulticospanIndex.L.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.R.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.fstTo.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.sndTo.{u4, u2, u3} C _inst_1 I)), CategoryTheory.Functor.obj.{u4, max u1 u2, u4, succ (max u1 u2)} (CategoryTheory.Limits.WalkingMulticospan.{u4} (CategoryTheory.Limits.MulticospanIndex.L.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.R.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.fstTo.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.sndTo.{u4, u2, u3} C _inst_1 I)) (CategoryTheory.Limits.WalkingMulticospan.CategoryTheory.smallCategory.{u4} (CategoryTheory.Limits.MulticospanIndex.L.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.R.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.fstTo.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.sndTo.{u4, u2, u3} C _inst_1 I)) Type.{max u1 u2} CategoryTheory.types.{max u1 u2} (CategoryTheory.Functor.comp.{u4, u2, max u1 u2, u4, u3, succ (max u1 u2)} (CategoryTheory.Limits.WalkingMulticospan.{u4} (CategoryTheory.Limits.MulticospanIndex.L.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.R.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.fstTo.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.sndTo.{u4, u2, u3} C _inst_1 I)) (CategoryTheory.Limits.WalkingMulticospan.CategoryTheory.smallCategory.{u4} (CategoryTheory.Limits.MulticospanIndex.L.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.R.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.fstTo.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.sndTo.{u4, u2, u3} C _inst_1 I)) C _inst_1 Type.{max u1 u2} CategoryTheory.types.{max u1 u2} (CategoryTheory.Limits.MulticospanIndex.multicospan.{u2, u3, u4} C _inst_1 I) (CategoryTheory.forget.{u3, max u1 u2, u2} C _inst_1 _inst_2)) j)) Type.{max u4 u1 u2} (Set.hasCoeToSort.{max u4 u1 u2} (forall (j : CategoryTheory.Limits.WalkingMulticospan.{u4} (CategoryTheory.Limits.MulticospanIndex.L.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.R.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.fstTo.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.sndTo.{u4, u2, u3} C _inst_1 I)), CategoryTheory.Functor.obj.{u4, max u1 u2, u4, succ (max u1 u2)} (CategoryTheory.Limits.WalkingMulticospan.{u4} (CategoryTheory.Limits.MulticospanIndex.L.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.R.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.fstTo.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.sndTo.{u4, u2, u3} C _inst_1 I)) (CategoryTheory.Limits.WalkingMulticospan.CategoryTheory.smallCategory.{u4} (CategoryTheory.Limits.MulticospanIndex.L.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.R.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.fstTo.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.sndTo.{u4, u2, u3} C _inst_1 I)) Type.{max u1 u2} CategoryTheory.types.{max u1 u2} (CategoryTheory.Functor.comp.{u4, u2, max u1 u2, u4, u3, succ (max u1 u2)} (CategoryTheory.Limits.WalkingMulticospan.{u4} (CategoryTheory.Limits.MulticospanIndex.L.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.R.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.fstTo.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.sndTo.{u4, u2, u3} C _inst_1 I)) (CategoryTheory.Limits.WalkingMulticospan.CategoryTheory.smallCategory.{u4} (CategoryTheory.Limits.MulticospanIndex.L.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.R.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.fstTo.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.sndTo.{u4, u2, u3} C _inst_1 I)) C _inst_1 Type.{max u1 u2} CategoryTheory.types.{max u1 u2} (CategoryTheory.Limits.MulticospanIndex.multicospan.{u2, u3, u4} C _inst_1 I) (CategoryTheory.forget.{u3, max u1 u2, u2} C _inst_1 _inst_2)) j)) (CategoryTheory.Functor.sections.{u4, max u1 u2, u4} (CategoryTheory.Limits.WalkingMulticospan.{u4} (CategoryTheory.Limits.MulticospanIndex.L.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.R.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.fstTo.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.sndTo.{u4, u2, u3} C _inst_1 I)) (CategoryTheory.Limits.WalkingMulticospan.CategoryTheory.smallCategory.{u4} (CategoryTheory.Limits.MulticospanIndex.L.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.R.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.fstTo.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.sndTo.{u4, u2, u3} C _inst_1 I)) (CategoryTheory.Functor.comp.{u4, u2, max u1 u2, u4, u3, succ (max u1 u2)} (CategoryTheory.Limits.WalkingMulticospan.{u4} (CategoryTheory.Limits.MulticospanIndex.L.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.R.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.fstTo.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.sndTo.{u4, u2, u3} C _inst_1 I)) (CategoryTheory.Limits.WalkingMulticospan.CategoryTheory.smallCategory.{u4} (CategoryTheory.Limits.MulticospanIndex.L.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.R.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.fstTo.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.sndTo.{u4, u2, u3} C _inst_1 I)) C _inst_1 Type.{max u1 u2} CategoryTheory.types.{max u1 u2} (CategoryTheory.Limits.MulticospanIndex.multicospan.{u2, u3, u4} C _inst_1 I) (CategoryTheory.forget.{u3, max u1 u2, u2} C _inst_1 _inst_2)))) (Subtype.{max (succ u4) (succ (max u1 u2))} (forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u4, u2, u3} C _inst_1 I), coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u4, u2, u3} C _inst_1 I i)) (fun (x : forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u4, u2, u3} C _inst_1 I), coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u4, u2, u3} C _inst_1 I i)) => forall (i : CategoryTheory.Limits.MulticospanIndex.R.{u4, u2, u3} C _inst_1 I), Eq.{succ (max u1 u2)} (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.right.{u4, u2, u3} C _inst_1 I i)) (coeFn.{succ u2, succ (max u1 u2)} (Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u4, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u4, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u4, u2, u3} C _inst_1 I i)) (fun (f : Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u4, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u4, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u4, u2, u3} C _inst_1 I i)) => (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u4, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u4, u2, u3} C _inst_1 I i))) -> (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.right.{u4, u2, u3} C _inst_1 I i))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u3, u2, max u1 u2} C _inst_1 _inst_2 (CategoryTheory.Limits.MulticospanIndex.left.{u4, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u4, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u4, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.fst.{u4, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.fstTo.{u4, u2, u3} C _inst_1 I i))) (coeFn.{succ u2, succ (max u1 u2)} (Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u4, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u4, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u4, u2, u3} C _inst_1 I i)) (fun (f : Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u4, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u4, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u4, u2, u3} C _inst_1 I i)) => (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u4, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u4, u2, u3} C _inst_1 I i))) -> (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.right.{u4, u2, u3} C _inst_1 I i))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u3, u2, max u1 u2} C _inst_1 _inst_2 (CategoryTheory.Limits.MulticospanIndex.left.{u4, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u4, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u4, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.snd.{u4, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.sndTo.{u4, u2, u3} C _inst_1 I i)))))
+but is expected to have type
+ forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u2, u3} C] [_inst_2 : CategoryTheory.ConcreteCategory.{max u1 u2, u2, u3} C _inst_1] (I : CategoryTheory.Limits.MulticospanIndex.{u4, u2, u3} C _inst_1), Equiv.{max (max (succ u2) (succ u1)) (succ u4), max 1 (max (succ u2) (succ u1)) (succ u4)} (Set.Elem.{max (max u2 u1) u4} (forall (j : CategoryTheory.Limits.WalkingMulticospan.{u4} (CategoryTheory.Limits.MulticospanIndex.L.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.R.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.fstTo.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.sndTo.{u4, u2, u3} C _inst_1 I)), Prefunctor.obj.{succ u4, succ (max u2 u1), u4, succ (max u2 u1)} (CategoryTheory.Limits.WalkingMulticospan.{u4} (CategoryTheory.Limits.MulticospanIndex.L.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.R.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.fstTo.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.sndTo.{u4, u2, u3} C _inst_1 I)) (CategoryTheory.CategoryStruct.toQuiver.{u4, u4} (CategoryTheory.Limits.WalkingMulticospan.{u4} (CategoryTheory.Limits.MulticospanIndex.L.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.R.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.fstTo.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.sndTo.{u4, u2, u3} C _inst_1 I)) (CategoryTheory.Category.toCategoryStruct.{u4, u4} (CategoryTheory.Limits.WalkingMulticospan.{u4} (CategoryTheory.Limits.MulticospanIndex.L.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.R.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.fstTo.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.sndTo.{u4, u2, u3} C _inst_1 I)) (CategoryTheory.Limits.WalkingMulticospan.instSmallCategoryWalkingMulticospan.{u4} (CategoryTheory.Limits.MulticospanIndex.L.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.R.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.fstTo.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.sndTo.{u4, u2, u3} C _inst_1 I)))) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u4, max u2 u1, u4, succ (max u2 u1)} (CategoryTheory.Limits.WalkingMulticospan.{u4} (CategoryTheory.Limits.MulticospanIndex.L.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.R.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.fstTo.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.sndTo.{u4, u2, u3} C _inst_1 I)) (CategoryTheory.Limits.WalkingMulticospan.instSmallCategoryWalkingMulticospan.{u4} (CategoryTheory.Limits.MulticospanIndex.L.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.R.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.fstTo.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.sndTo.{u4, u2, u3} C _inst_1 I)) Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.Functor.comp.{u4, u2, max u2 u1, u4, u3, max (succ u2) (succ u1)} (CategoryTheory.Limits.WalkingMulticospan.{u4} (CategoryTheory.Limits.MulticospanIndex.L.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.R.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.fstTo.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.sndTo.{u4, u2, u3} C _inst_1 I)) (CategoryTheory.Limits.WalkingMulticospan.instSmallCategoryWalkingMulticospan.{u4} (CategoryTheory.Limits.MulticospanIndex.L.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.R.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.fstTo.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.sndTo.{u4, u2, u3} C _inst_1 I)) C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.Limits.MulticospanIndex.multicospan.{u2, u3, u4} C _inst_1 I) (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2))) j) (CategoryTheory.Functor.sections.{u4, max u2 u1, u4} (CategoryTheory.Limits.WalkingMulticospan.{u4} (CategoryTheory.Limits.MulticospanIndex.L.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.R.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.fstTo.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.sndTo.{u4, u2, u3} C _inst_1 I)) (CategoryTheory.Limits.WalkingMulticospan.instSmallCategoryWalkingMulticospan.{u4} (CategoryTheory.Limits.MulticospanIndex.L.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.R.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.fstTo.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.sndTo.{u4, u2, u3} C _inst_1 I)) (CategoryTheory.Functor.comp.{u4, u2, max u2 u1, u4, u3, max (succ u2) (succ u1)} (CategoryTheory.Limits.WalkingMulticospan.{u4} (CategoryTheory.Limits.MulticospanIndex.L.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.R.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.fstTo.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.sndTo.{u4, u2, u3} C _inst_1 I)) (CategoryTheory.Limits.WalkingMulticospan.instSmallCategoryWalkingMulticospan.{u4} (CategoryTheory.Limits.MulticospanIndex.L.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.R.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.fstTo.{u4, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.sndTo.{u4, u2, u3} C _inst_1 I)) C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.Limits.MulticospanIndex.multicospan.{u2, u3, u4} C _inst_1 I) (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)))) (Subtype.{max (max (succ u2) (succ u1)) (succ u4)} (forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u4, u2, u3} C _inst_1 I), Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.ConcreteCategory.Forget.{max u2 u1, u2, u3} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.left.{u4, u2, u3} C _inst_1 I i)) (fun (x : forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u4, u2, u3} C _inst_1 I), Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.ConcreteCategory.Forget.{max u2 u1, u2, u3} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.left.{u4, u2, u3} C _inst_1 I i)) => forall (i : CategoryTheory.Limits.MulticospanIndex.R.{u4, u2, u3} C _inst_1 I), Eq.{max (succ u2) (succ u1)} (Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.right.{u4, u2, u3} C _inst_1 I i)) (Prefunctor.map.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.left.{u4, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u4, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u4, u2, u3} C _inst_1 I i) (CategoryTheory.Limits.MulticospanIndex.fst.{u4, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.fstTo.{u4, u2, u3} C _inst_1 I i))) (Prefunctor.map.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.left.{u4, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u4, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u4, u2, u3} C _inst_1 I i) (CategoryTheory.Limits.MulticospanIndex.snd.{u4, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.sndTo.{u4, u2, u3} C _inst_1 I i)))))
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.concrete.multiequalizer_equiv_aux CategoryTheory.Limits.Concrete.multiequalizerEquivAuxₓ'. -/
/-- An auxiliary equivalence to be used in `multiequalizer_equiv` below.-/
def Concrete.multiequalizerEquivAux (I : MulticospanIndex C) :
(I.multicospan ⋙ forget C).sections ≃
@@ -140,6 +170,7 @@ def Concrete.multiequalizerEquivAux (I : MulticospanIndex C) :
rfl
#align category_theory.limits.concrete.multiequalizer_equiv_aux CategoryTheory.Limits.Concrete.multiequalizerEquivAux
+#print CategoryTheory.Limits.Concrete.multiequalizerEquiv /-
/-- The equivalence between the noncomputable multiequalizer and
and the concrete multiequalizer. -/
noncomputable def Concrete.multiequalizerEquiv (I : MulticospanIndex.{w} C) [HasMultiequalizer I]
@@ -151,7 +182,14 @@ noncomputable def Concrete.multiequalizerEquiv (I : MulticospanIndex.{w} C) [Has
let E := h2.conePointUniqueUpToIso (Types.limitConeIsLimit _)
Equiv.trans E.toEquiv (Concrete.multiequalizerEquivAux I)
#align category_theory.limits.concrete.multiequalizer_equiv CategoryTheory.Limits.Concrete.multiequalizerEquiv
+-/
+/- warning: category_theory.limits.concrete.multiequalizer_equiv_apply -> CategoryTheory.Limits.Concrete.multiequalizerEquiv_apply is a dubious translation:
+lean 3 declaration is
+ forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u2, u3} C] [_inst_2 : CategoryTheory.ConcreteCategory.{max u1 u2, u2, u3} C _inst_1] (I : CategoryTheory.Limits.MulticospanIndex.{u1, u2, u3} C _inst_1) [_inst_5 : CategoryTheory.Limits.HasMultiequalizer.{u2, u3, u1} C _inst_1 I] [_inst_6 : CategoryTheory.Limits.PreservesLimit.{u1, u1, u2, max u1 u2, u3, succ (max u1 u2)} C _inst_1 Type.{max u1 u2} CategoryTheory.types.{max u1 u2} (CategoryTheory.Limits.WalkingMulticospan.{u1} (CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.R.{u1, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I)) (CategoryTheory.Limits.WalkingMulticospan.CategoryTheory.smallCategory.{u1} (CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.R.{u1, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I)) (CategoryTheory.Limits.MulticospanIndex.multicospan.{u2, u3, u1} C _inst_1 I) (CategoryTheory.forget.{u3, max u1 u2, u2} C _inst_1 _inst_2)] (x : coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.multiequalizer.{u2, u3, u1} C _inst_1 I _inst_5)) (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), Eq.{succ (max u1 u2)} (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) ((fun (a : Sort.{max 1 (succ u1) (succ (max u1 u2))}) (b : Sort.{max (succ u1) (succ (max u1 u2))}) [self : HasLiftT.{max 1 (succ u1) (succ (max u1 u2)), max (succ u1) (succ (max u1 u2))} a b] => self.0) (Subtype.{max (succ u1) (succ (max u1 u2))} (forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) (fun (x : forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) => forall (i : CategoryTheory.Limits.MulticospanIndex.R.{u1, u2, u3} C _inst_1 I), Eq.{succ (max u1 u2)} (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (coeFn.{succ u2, succ (max u1 u2)} (Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (fun (f : Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) => (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i))) -> (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u3, u2, max u1 u2} C _inst_1 _inst_2 (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.fst.{u1, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i))) (coeFn.{succ u2, succ (max u1 u2)} (Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (fun (f : Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) => (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i))) -> (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u3, u2, max u1 u2} C _inst_1 _inst_2 (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.snd.{u1, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i))))) (forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) (HasLiftT.mk.{max 1 (succ u1) (succ (max u1 u2)), max (succ u1) (succ (max u1 u2))} (Subtype.{max (succ u1) (succ (max u1 u2))} (forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) (fun (x : forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) => forall (i : CategoryTheory.Limits.MulticospanIndex.R.{u1, u2, u3} C _inst_1 I), Eq.{succ (max u1 u2)} (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (coeFn.{succ u2, succ (max u1 u2)} (Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (fun (f : Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) => (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i))) -> (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u3, u2, max u1 u2} C _inst_1 _inst_2 (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.fst.{u1, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i))) (coeFn.{succ u2, succ (max u1 u2)} (Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (fun (f : Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) => (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i))) -> (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u3, u2, max u1 u2} C _inst_1 _inst_2 (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.snd.{u1, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i))))) (forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) (CoeTCₓ.coe.{max 1 (succ u1) (succ (max u1 u2)), max (succ u1) (succ (max u1 u2))} (Subtype.{max (succ u1) (succ (max u1 u2))} (forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) (fun (x : forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) => forall (i : CategoryTheory.Limits.MulticospanIndex.R.{u1, u2, u3} C _inst_1 I), Eq.{succ (max u1 u2)} (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (coeFn.{succ u2, succ (max u1 u2)} (Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (fun (f : Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) => (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i))) -> (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u3, u2, max u1 u2} C _inst_1 _inst_2 (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.fst.{u1, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i))) (coeFn.{succ u2, succ (max u1 u2)} (Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (fun (f : Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) => (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i))) -> (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u3, u2, max u1 u2} C _inst_1 _inst_2 (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.snd.{u1, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i))))) (forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) (coeBase.{max 1 (succ u1) (succ (max u1 u2)), max (succ u1) (succ (max u1 u2))} (Subtype.{max (succ u1) (succ (max u1 u2))} (forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) (fun (x : forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) => forall (i : CategoryTheory.Limits.MulticospanIndex.R.{u1, u2, u3} C _inst_1 I), Eq.{succ (max u1 u2)} (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (coeFn.{succ u2, succ (max u1 u2)} (Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (fun (f : Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) => (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i))) -> (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u3, u2, max u1 u2} C _inst_1 _inst_2 (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.fst.{u1, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i))) (coeFn.{succ u2, succ (max u1 u2)} (Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (fun (f : Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) => (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i))) -> (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u3, u2, max u1 u2} C _inst_1 _inst_2 (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.snd.{u1, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i))))) (forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) (coeSubtype.{max (succ u1) (succ (max u1 u2))} (forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) (fun (x : forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) => forall (i : CategoryTheory.Limits.MulticospanIndex.R.{u1, u2, u3} C _inst_1 I), Eq.{succ (max u1 u2)} (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (coeFn.{succ u2, succ (max u1 u2)} (Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (fun (f : Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) => (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i))) -> (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u3, u2, max u1 u2} C _inst_1 _inst_2 (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.fst.{u1, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i))) (coeFn.{succ u2, succ (max u1 u2)} (Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (fun (f : Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) => (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i))) -> (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u3, u2, max u1 u2} C _inst_1 _inst_2 (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.snd.{u1, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)))))))) (coeFn.{max 1 (max (succ (max u1 u2)) 1 (succ u1) (succ (max u1 u2))) (max 1 (succ u1) (succ (max u1 u2))) (succ (max u1 u2)), max (succ (max u1 u2)) 1 (succ u1) (succ (max u1 u2))} (Equiv.{succ (max u1 u2), max 1 (succ u1) (succ (max u1 u2))} (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.multiequalizer.{u2, u3, u1} C _inst_1 I _inst_5)) (Subtype.{max (succ u1) (succ (max u1 u2))} (forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) (fun (x : forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) => forall (i : CategoryTheory.Limits.MulticospanIndex.R.{u1, u2, u3} C _inst_1 I), Eq.{succ (max u1 u2)} (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (coeFn.{succ u2, succ (max u1 u2)} (Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (fun (f : Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) => (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i))) -> (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u3, u2, max u1 u2} C _inst_1 _inst_2 (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.fst.{u1, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i))) (coeFn.{succ u2, succ (max u1 u2)} (Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (fun (f : Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) => (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i))) -> (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u3, u2, max u1 u2} C _inst_1 _inst_2 (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.snd.{u1, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)))))) (fun (_x : Equiv.{succ (max u1 u2), max 1 (succ u1) (succ (max u1 u2))} (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.multiequalizer.{u2, u3, u1} C _inst_1 I _inst_5)) (Subtype.{max (succ u1) (succ (max u1 u2))} (forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) (fun (x : forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) => forall (i : CategoryTheory.Limits.MulticospanIndex.R.{u1, u2, u3} C _inst_1 I), Eq.{succ (max u1 u2)} (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (coeFn.{succ u2, succ (max u1 u2)} (Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (fun (f : Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) => (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i))) -> (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u3, u2, max u1 u2} C _inst_1 _inst_2 (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.fst.{u1, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i))) (coeFn.{succ u2, succ (max u1 u2)} (Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (fun (f : Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) => (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i))) -> (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u3, u2, max u1 u2} C _inst_1 _inst_2 (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.snd.{u1, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)))))) => (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.multiequalizer.{u2, u3, u1} C _inst_1 I _inst_5)) -> (Subtype.{max (succ u1) (succ (max u1 u2))} (forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) (fun (x : forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) => forall (i : CategoryTheory.Limits.MulticospanIndex.R.{u1, u2, u3} C _inst_1 I), Eq.{succ (max u1 u2)} (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (coeFn.{succ u2, succ (max u1 u2)} (Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (fun (f : Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) => (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i))) -> (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u3, u2, max u1 u2} C _inst_1 _inst_2 (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.fst.{u1, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i))) (coeFn.{succ u2, succ (max u1 u2)} (Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (fun (f : Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) => (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i))) -> (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u3, u2, max u1 u2} C _inst_1 _inst_2 (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.snd.{u1, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)))))) (Equiv.hasCoeToFun.{succ (max u1 u2), max 1 (succ u1) (succ (max u1 u2))} (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.multiequalizer.{u2, u3, u1} C _inst_1 I _inst_5)) (Subtype.{max (succ u1) (succ (max u1 u2))} (forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) (fun (x : forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) => forall (i : CategoryTheory.Limits.MulticospanIndex.R.{u1, u2, u3} C _inst_1 I), Eq.{succ (max u1 u2)} (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (coeFn.{succ u2, succ (max u1 u2)} (Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (fun (f : Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) => (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i))) -> (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u3, u2, max u1 u2} C _inst_1 _inst_2 (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.fst.{u1, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i))) (coeFn.{succ u2, succ (max u1 u2)} (Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (fun (f : Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) => (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i))) -> (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u3, u2, max u1 u2} C _inst_1 _inst_2 (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.snd.{u1, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)))))) (CategoryTheory.Limits.Concrete.multiequalizerEquiv.{u1, u2, u3} C _inst_1 _inst_2 I _inst_5 _inst_6) x) i) (coeFn.{succ u2, succ (max u1 u2)} (Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.multiequalizer.{u2, u3, u1} C _inst_1 I _inst_5) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) (fun (f : Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.multiequalizer.{u2, u3, u1} C _inst_1 I _inst_5) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) => (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.multiequalizer.{u2, u3, u1} C _inst_1 I _inst_5)) -> (coeSort.{succ u3, succ (succ (max u1 u2))} C Type.{max u1 u2} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u3, max u1 u2, u2} C _inst_1 _inst_2) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u3, u2, max u1 u2} C _inst_1 _inst_2 (CategoryTheory.Limits.multiequalizer.{u2, u3, u1} C _inst_1 I _inst_5) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.Multiequalizer.ι.{u2, u3, u1} C _inst_1 I _inst_5 i) x)
+but is expected to have type
+ forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u2, u3} C] [_inst_2 : CategoryTheory.ConcreteCategory.{max u1 u2, u2, u3} C _inst_1] (I : CategoryTheory.Limits.MulticospanIndex.{u1, u2, u3} C _inst_1) [_inst_5 : CategoryTheory.Limits.HasMultiequalizer.{u2, u3, u1} C _inst_1 I] [_inst_6 : CategoryTheory.Limits.PreservesLimit.{u1, u1, u2, max u2 u1, u3, max (succ u2) (succ u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.Limits.WalkingMulticospan.{u1} (CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.R.{u1, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I)) (CategoryTheory.Limits.WalkingMulticospan.instSmallCategoryWalkingMulticospan.{u1} (CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.R.{u1, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I) (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I)) (CategoryTheory.Limits.MulticospanIndex.multicospan.{u2, u3, u1} C _inst_1 I) (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)] (x : Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.ConcreteCategory.Forget.{max u2 u1, u2, u3} C _inst_1 _inst_2)) (CategoryTheory.Limits.multiequalizer.{u2, u3, u1} C _inst_1 I _inst_5)) (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), Eq.{max (succ u2) (succ u1)} (Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.ConcreteCategory.Forget.{max u2 u1, u2, u3} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) (Subtype.val.{max (succ u2) (succ u1)} (forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.ConcreteCategory.Forget.{max u2 u1, u2, u3} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) (fun (x : forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.ConcreteCategory.Forget.{max u2 u1, u2, u3} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) => forall (i : CategoryTheory.Limits.MulticospanIndex.R.{u1, u2, u3} C _inst_1 I), Eq.{max (succ u2) (succ u1)} (Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (Prefunctor.map.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i) (CategoryTheory.Limits.MulticospanIndex.fst.{u1, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i))) (Prefunctor.map.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i) (CategoryTheory.Limits.MulticospanIndex.snd.{u1, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)))) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (Equiv.{max (succ u2) (succ u1), max 1 (succ u2) (succ u1)} (Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.ConcreteCategory.Forget.{max u2 u1, u2, u3} C _inst_1 _inst_2)) (CategoryTheory.Limits.multiequalizer.{u2, u3, u1} C _inst_1 I _inst_5)) (Subtype.{max (succ u2) (succ u1)} (forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.ConcreteCategory.Forget.{max u2 u1, u2, u3} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) (fun (x : forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.ConcreteCategory.Forget.{max u2 u1, u2, u3} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) => forall (i : CategoryTheory.Limits.MulticospanIndex.R.{u1, u2, u3} C _inst_1 I), Eq.{max (succ u2) (succ u1)} (Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (Prefunctor.map.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i) (CategoryTheory.Limits.MulticospanIndex.fst.{u1, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i))) (Prefunctor.map.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i) (CategoryTheory.Limits.MulticospanIndex.snd.{u1, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)))))) (Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.ConcreteCategory.Forget.{max u2 u1, u2, u3} C _inst_1 _inst_2)) (CategoryTheory.Limits.multiequalizer.{u2, u3, u1} C _inst_1 I _inst_5)) (fun (_x : Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.ConcreteCategory.Forget.{max u2 u1, u2, u3} C _inst_1 _inst_2)) (CategoryTheory.Limits.multiequalizer.{u2, u3, u1} C _inst_1 I _inst_5)) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.ConcreteCategory.Forget.{max u2 u1, u2, u3} C _inst_1 _inst_2)) (CategoryTheory.Limits.multiequalizer.{u2, u3, u1} C _inst_1 I _inst_5)) => Subtype.{max (succ u2) (succ u1)} (forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.ConcreteCategory.Forget.{max u2 u1, u2, u3} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) (fun (x : forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.ConcreteCategory.Forget.{max u2 u1, u2, u3} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) => forall (i : CategoryTheory.Limits.MulticospanIndex.R.{u1, u2, u3} C _inst_1 I), Eq.{max (succ u2) (succ u1)} (Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (Prefunctor.map.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i) (CategoryTheory.Limits.MulticospanIndex.fst.{u1, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i))) (Prefunctor.map.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i) (CategoryTheory.Limits.MulticospanIndex.snd.{u1, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i))))) _x) (Equiv.instFunLikeEquiv.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.ConcreteCategory.Forget.{max u2 u1, u2, u3} C _inst_1 _inst_2)) (CategoryTheory.Limits.multiequalizer.{u2, u3, u1} C _inst_1 I _inst_5)) (Subtype.{max (succ u2) (succ u1)} (forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.ConcreteCategory.Forget.{max u2 u1, u2, u3} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) (fun (x : forall (i : CategoryTheory.Limits.MulticospanIndex.L.{u1, u2, u3} C _inst_1 I), Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.ConcreteCategory.Forget.{max u2 u1, u2, u3} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i)) => forall (i : CategoryTheory.Limits.MulticospanIndex.R.{u1, u2, u3} C _inst_1 I), Eq.{max (succ u2) (succ u1)} (Prefunctor.obj.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i)) (Prefunctor.map.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i) (CategoryTheory.Limits.MulticospanIndex.fst.{u1, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.fstTo.{u1, u2, u3} C _inst_1 I i))) (Prefunctor.map.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)) (CategoryTheory.Limits.MulticospanIndex.right.{u1, u2, u3} C _inst_1 I i) (CategoryTheory.Limits.MulticospanIndex.snd.{u1, u2, u3} C _inst_1 I i) (x (CategoryTheory.Limits.MulticospanIndex.sndTo.{u1, u2, u3} C _inst_1 I i)))))) (CategoryTheory.Limits.Concrete.multiequalizerEquiv.{u1, u2, u3} C _inst_1 _inst_2 I _inst_5 _inst_6) x) i) (Prefunctor.map.{succ u2, succ (max u2 u1), u3, succ (max u2 u1)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) Type.{max u2 u1} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} (CategoryTheory.Category.toCategoryStruct.{max u2 u1, succ (max u2 u1)} Type.{max u2 u1} CategoryTheory.types.{max u2 u1})) (CategoryTheory.Functor.toPrefunctor.{u2, max u2 u1, u3, succ (max u2 u1)} C _inst_1 Type.{max u2 u1} CategoryTheory.types.{max u2 u1} (CategoryTheory.forget.{u3, max u2 u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.multiequalizer.{u2, u3, u1} C _inst_1 I _inst_5) (CategoryTheory.Limits.MulticospanIndex.left.{u1, u2, u3} C _inst_1 I i) (CategoryTheory.Limits.Multiequalizer.ι.{u2, u3, u1} C _inst_1 I _inst_5 i) x)
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.concrete.multiequalizer_equiv_apply CategoryTheory.Limits.Concrete.multiequalizerEquiv_applyₓ'. -/
@[simp]
theorem Concrete.multiequalizerEquiv_apply (I : MulticospanIndex.{w} C) [HasMultiequalizer I]
[PreservesLimit I.multicospan (forget C)] (x : multiequalizer I) (i : I.L) :
@@ -166,6 +204,12 @@ end Limits
section Colimits
+/- warning: category_theory.limits.cokernel_funext -> CategoryTheory.Limits.cokernel_funext is a dubious translation:
+lean 3 declaration is
+ forall {C : Type.{u1}} [_inst_1 : CategoryTheory.Category.{u2, u1} C] [_inst_2 : CategoryTheory.Limits.HasZeroMorphisms.{u2, u1} C _inst_1] [_inst_3 : CategoryTheory.ConcreteCategory.{u3, u2, u1} C _inst_1] {M : C} {N : C} {K : C} {f : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) M N} [_inst_4 : CategoryTheory.Limits.HasCokernel.{u2, u1} C _inst_1 _inst_2 M N f] {g : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Limits.cokernel.{u2, u1} C _inst_1 _inst_2 M N f _inst_4) K} {h : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Limits.cokernel.{u2, u1} C _inst_1 _inst_2 M N f _inst_4) K}, (forall (n : coeSort.{succ u1, succ (succ u3)} C Type.{u3} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u1, u3, u2} C _inst_1 _inst_3) N), Eq.{succ u3} (coeSort.{succ u1, succ (succ u3)} C Type.{u3} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u1, u3, u2} C _inst_1 _inst_3) K) (coeFn.{succ u2, succ u3} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Limits.cokernel.{u2, u1} C _inst_1 _inst_2 M N f _inst_4) K) (fun (f_1 : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Limits.cokernel.{u2, u1} C _inst_1 _inst_2 M N f _inst_4) K) => (coeSort.{succ u1, succ (succ u3)} C Type.{u3} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u1, u3, u2} C _inst_1 _inst_3) (CategoryTheory.Limits.cokernel.{u2, u1} C _inst_1 _inst_2 M N f _inst_4)) -> (coeSort.{succ u1, succ (succ u3)} C Type.{u3} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u1, u3, u2} C _inst_1 _inst_3) K)) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u1, u2, u3} C _inst_1 _inst_3 (CategoryTheory.Limits.cokernel.{u2, u1} C _inst_1 _inst_2 M N f _inst_4) K) g (coeFn.{succ u2, succ u3} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) N (CategoryTheory.Limits.cokernel.{u2, u1} C _inst_1 _inst_2 M N f _inst_4)) (fun (f_1 : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) N (CategoryTheory.Limits.cokernel.{u2, u1} C _inst_1 _inst_2 M N f _inst_4)) => (coeSort.{succ u1, succ (succ u3)} C Type.{u3} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u1, u3, u2} C _inst_1 _inst_3) N) -> (coeSort.{succ u1, succ (succ u3)} C Type.{u3} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u1, u3, u2} C _inst_1 _inst_3) (CategoryTheory.Limits.cokernel.{u2, u1} C _inst_1 _inst_2 M N f _inst_4))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u1, u2, u3} C _inst_1 _inst_3 N (CategoryTheory.Limits.cokernel.{u2, u1} C _inst_1 _inst_2 M N f _inst_4)) (CategoryTheory.Limits.cokernel.π.{u2, u1} C _inst_1 _inst_2 M N f _inst_4) n)) (coeFn.{succ u2, succ u3} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Limits.cokernel.{u2, u1} C _inst_1 _inst_2 M N f _inst_4) K) (fun (f_1 : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Limits.cokernel.{u2, u1} C _inst_1 _inst_2 M N f _inst_4) K) => (coeSort.{succ u1, succ (succ u3)} C Type.{u3} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u1, u3, u2} C _inst_1 _inst_3) (CategoryTheory.Limits.cokernel.{u2, u1} C _inst_1 _inst_2 M N f _inst_4)) -> (coeSort.{succ u1, succ (succ u3)} C Type.{u3} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u1, u3, u2} C _inst_1 _inst_3) K)) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u1, u2, u3} C _inst_1 _inst_3 (CategoryTheory.Limits.cokernel.{u2, u1} C _inst_1 _inst_2 M N f _inst_4) K) h (coeFn.{succ u2, succ u3} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) N (CategoryTheory.Limits.cokernel.{u2, u1} C _inst_1 _inst_2 M N f _inst_4)) (fun (f_1 : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) N (CategoryTheory.Limits.cokernel.{u2, u1} C _inst_1 _inst_2 M N f _inst_4)) => (coeSort.{succ u1, succ (succ u3)} C Type.{u3} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u1, u3, u2} C _inst_1 _inst_3) N) -> (coeSort.{succ u1, succ (succ u3)} C Type.{u3} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u1, u3, u2} C _inst_1 _inst_3) (CategoryTheory.Limits.cokernel.{u2, u1} C _inst_1 _inst_2 M N f _inst_4))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u1, u2, u3} C _inst_1 _inst_3 N (CategoryTheory.Limits.cokernel.{u2, u1} C _inst_1 _inst_2 M N f _inst_4)) (CategoryTheory.Limits.cokernel.π.{u2, u1} C _inst_1 _inst_2 M N f _inst_4) n))) -> (Eq.{succ u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) (CategoryTheory.Limits.cokernel.{u2, u1} C _inst_1 _inst_2 M N f _inst_4) K) g h)
+but is expected to have type
+ forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u2, u3} C] [_inst_2 : CategoryTheory.Limits.HasZeroMorphisms.{u2, u3} C _inst_1] [_inst_3 : CategoryTheory.ConcreteCategory.{u1, u2, u3} C _inst_1] {M : C} {N : C} {K : C} {f : Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) M N} [_inst_4 : CategoryTheory.Limits.HasCokernel.{u2, u3} C _inst_1 _inst_2 M N f] {g : Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.cokernel.{u2, u3} C _inst_1 _inst_2 M N f _inst_4) K} {h : Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.cokernel.{u2, u3} C _inst_1 _inst_2 M N f _inst_4) K}, (forall (n : Prefunctor.obj.{succ u2, succ u1, u3, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} 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.{u2, u1, u3, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.ConcreteCategory.Forget.{u1, u2, u3} C _inst_1 _inst_3)) N), Eq.{succ u1} (Prefunctor.obj.{succ u2, succ u1, u3, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} 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.{u2, u1, u3, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u3, u1, u2} C _inst_1 _inst_3)) K) (Prefunctor.map.{succ u2, succ u1, u3, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} 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.{u2, u1, u3, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u3, u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Limits.cokernel.{u2, u3} C _inst_1 _inst_2 M N f _inst_4) K g (Prefunctor.map.{succ u2, succ u1, u3, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} 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.{u2, u1, u3, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u3, u1, u2} C _inst_1 _inst_3)) N (CategoryTheory.Limits.cokernel.{u2, u3} C _inst_1 _inst_2 M N f _inst_4) (CategoryTheory.Limits.cokernel.π.{u2, u3} C _inst_1 _inst_2 M N f _inst_4) n)) (Prefunctor.map.{succ u2, succ u1, u3, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} 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.{u2, u1, u3, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u3, u1, u2} C _inst_1 _inst_3)) (CategoryTheory.Limits.cokernel.{u2, u3} C _inst_1 _inst_2 M N f _inst_4) K h (Prefunctor.map.{succ u2, succ u1, u3, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} 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.{u2, u1, u3, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u3, u1, u2} C _inst_1 _inst_3)) N (CategoryTheory.Limits.cokernel.{u2, u3} C _inst_1 _inst_2 M N f _inst_4) (CategoryTheory.Limits.cokernel.π.{u2, u3} C _inst_1 _inst_2 M N f _inst_4) n))) -> (Eq.{succ u2} (Quiver.Hom.{succ u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} C (CategoryTheory.Category.toCategoryStruct.{u2, u3} C _inst_1)) (CategoryTheory.Limits.cokernel.{u2, u3} C _inst_1 _inst_2 M N f _inst_4) K) g h)
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.cokernel_funext CategoryTheory.Limits.cokernel_funextₓ'. -/
-- We don't mark this as an `@[ext]` lemma as we don't always want to work elementwise.
theorem cokernel_funext {C : Type _} [Category C] [HasZeroMorphisms C] [ConcreteCategory C]
{M N K : C} {f : M ⟶ N} [HasCokernel f] {g h : cokernel f ⟶ K}
@@ -179,6 +223,12 @@ theorem cokernel_funext {C : Type _} [Category C] [HasZeroMorphisms C] [Concrete
variable {C : Type u} [Category.{v} C] [ConcreteCategory.{v} C] {J : Type v} [SmallCategory J]
(F : J ⥤ C) [PreservesColimit F (forget C)]
+/- warning: category_theory.limits.concrete.from_union_surjective_of_is_colimit -> CategoryTheory.Limits.Concrete.from_union_surjective_of_isColimit is a dubious translation:
+lean 3 declaration is
+ forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] [_inst_2 : CategoryTheory.ConcreteCategory.{u1, u1, u2} C _inst_1] {J : Type.{u1}} [_inst_3 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) [_inst_4 : CategoryTheory.Limits.PreservesColimit.{u1, u1, u1, u1, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} J _inst_3 F (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)] {D : CategoryTheory.Limits.Cocone.{u1, u1, u1, u2} J _inst_3 C _inst_1 F}, (CategoryTheory.Limits.IsColimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D) -> (let ff : (Sigma.{u1, u1} J (fun (j : J) => coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j))) -> (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) := fun (a : Sigma.{u1, u1} J (fun (j : J) => coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j))) => coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F (Sigma.fst.{u1, u1} J (fun (j : J) => coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j)) a)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) (Sigma.fst.{u1, u1} J (fun (j : J) => coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j)) a))) (fun (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F (Sigma.fst.{u1, u1} J (fun (j : J) => coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j)) a)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) (Sigma.fst.{u1, u1} J (fun (j : J) => coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j)) a))) => (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F (Sigma.fst.{u1, u1} J (fun (j : J) => coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j)) a))) -> (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) (Sigma.fst.{u1, u1} J (fun (j : J) => coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j)) a)))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u2, u1, u1} C _inst_1 _inst_2 (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F (Sigma.fst.{u1, u1} J (fun (j : J) => coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j)) a)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) (Sigma.fst.{u1, u1} J (fun (j : J) => coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j)) a))) (CategoryTheory.NatTrans.app.{u1, u1, u1, u2} J _inst_3 C _inst_1 F (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) (CategoryTheory.Limits.Cocone.ι.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D) (Sigma.fst.{u1, u1} J (fun (j : J) => coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j)) a)) (Sigma.snd.{u1, u1} J (fun (j : J) => coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j)) a); Function.Surjective.{succ u1, succ u1} (Sigma.{u1, u1} J (fun (j : J) => coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j))) (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) ff)
+but is expected to have type
+ forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] [_inst_2 : CategoryTheory.ConcreteCategory.{u1, u1, u2} C _inst_1] {J : Type.{u1}} [_inst_3 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) [_inst_4 : CategoryTheory.Limits.PreservesColimit.{u1, u1, u1, u1, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} J _inst_3 F (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)] {D : CategoryTheory.Limits.Cocone.{u1, u1, u1, u2} J _inst_3 C _inst_1 F}, (CategoryTheory.Limits.IsColimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D) -> (let ff : (Sigma.{u1, u1} J (fun (j : J) => Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.ConcreteCategory.Forget.{u1, u1, u2} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j))) -> (Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.ConcreteCategory.Forget.{u1, u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) := fun (a : Sigma.{u1, u1} J (fun (j : J) => Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.ConcreteCategory.Forget.{u1, u1, u2} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j))) => Prefunctor.map.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) (Sigma.fst.{u1, u1} J (fun (j : J) => Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.ConcreteCategory.Forget.{u1, u1, u2} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j)) a)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 (Prefunctor.obj.{succ u1, succ u1, u2, max u1 u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D))) (Sigma.fst.{u1, u1} J (fun (j : J) => Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.ConcreteCategory.Forget.{u1, u1, u2} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j)) a)) (CategoryTheory.NatTrans.app.{u1, u1, u1, u2} J _inst_3 C _inst_1 F (Prefunctor.obj.{succ u1, succ u1, u2, max u1 u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) (CategoryTheory.Limits.Cocone.ι.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D) (Sigma.fst.{u1, u1} J (fun (j : J) => Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.ConcreteCategory.Forget.{u1, u1, u2} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j)) a)) (Sigma.snd.{u1, u1} J (fun (j : J) => Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.ConcreteCategory.Forget.{u1, u1, u2} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j)) a); Function.Surjective.{succ u1, succ u1} (Sigma.{u1, u1} J (fun (j : J) => Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.ConcreteCategory.Forget.{u1, u1, u2} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j))) (Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.ConcreteCategory.Forget.{u1, u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) ff)
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.concrete.from_union_surjective_of_is_colimit CategoryTheory.Limits.Concrete.from_union_surjective_of_isColimitₓ'. -/
theorem Concrete.from_union_surjective_of_isColimit {D : Cocone F} (hD : IsColimit D) :
let ff : (Σj : J, F.obj j) → D.pt := fun a => D.ι.app a.1 a.2
Function.Surjective ff :=
@@ -207,6 +257,12 @@ theorem Concrete.from_union_surjective_of_isColimit {D : Cocone F} (hD : IsColim
exact ⟨⟨j, a⟩, rfl⟩
#align category_theory.limits.concrete.from_union_surjective_of_is_colimit CategoryTheory.Limits.Concrete.from_union_surjective_of_isColimit
+/- warning: category_theory.limits.concrete.is_colimit_exists_rep -> CategoryTheory.Limits.Concrete.isColimit_exists_rep is a dubious translation:
+lean 3 declaration is
+ forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] [_inst_2 : CategoryTheory.ConcreteCategory.{u1, u1, u2} C _inst_1] {J : Type.{u1}} [_inst_3 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) [_inst_4 : CategoryTheory.Limits.PreservesColimit.{u1, u1, u1, u1, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} J _inst_3 F (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)] {D : CategoryTheory.Limits.Cocone.{u1, u1, u1, u2} J _inst_3 C _inst_1 F}, (CategoryTheory.Limits.IsColimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D) -> (forall (x : coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)), Exists.{succ u1} J (fun (j : J) => Exists.{succ u1} (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j)) (fun (y : coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j)) => Eq.{succ u1} (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) j)) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) j)) (fun (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) j)) => (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j)) -> (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) j))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u2, u1, u1} C _inst_1 _inst_2 (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) j)) (CategoryTheory.NatTrans.app.{u1, u1, u1, u2} J _inst_3 C _inst_1 F (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) (CategoryTheory.Limits.Cocone.ι.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D) j) y) x)))
+but is expected to have type
+ forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] [_inst_2 : CategoryTheory.ConcreteCategory.{u1, u1, u2} C _inst_1] {J : Type.{u1}} [_inst_3 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) [_inst_4 : CategoryTheory.Limits.PreservesColimit.{u1, u1, u1, u1, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} J _inst_3 F (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)] {D : CategoryTheory.Limits.Cocone.{u1, u1, u1, u2} J _inst_3 C _inst_1 F}, (CategoryTheory.Limits.IsColimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D) -> (forall (x : Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.ConcreteCategory.Forget.{u1, u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)), Exists.{succ u1} J (fun (j : J) => Exists.{succ u1} (Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.ConcreteCategory.Forget.{u1, u1, u2} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j)) (fun (y : Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.ConcreteCategory.Forget.{u1, u1, u2} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j)) => Eq.{succ u1} (Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 (Prefunctor.obj.{succ u1, succ u1, u2, max u1 u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D))) j)) (Prefunctor.map.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 (Prefunctor.obj.{succ u1, succ u1, u2, max u1 u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D))) j) (CategoryTheory.NatTrans.app.{u1, u1, u1, u2} J _inst_3 C _inst_1 F (Prefunctor.obj.{succ u1, succ u1, u2, max u1 u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) (CategoryTheory.Limits.Cocone.ι.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D) j) y) x)))
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.concrete.is_colimit_exists_rep CategoryTheory.Limits.Concrete.isColimit_exists_repₓ'. -/
theorem Concrete.isColimit_exists_rep {D : Cocone F} (hD : IsColimit D) (x : D.pt) :
∃ (j : J)(y : F.obj j), D.ι.app j y = x :=
by
@@ -214,11 +270,23 @@ theorem Concrete.isColimit_exists_rep {D : Cocone F} (hD : IsColimit D) (x : D.p
exact ⟨a.1, a.2, rfl⟩
#align category_theory.limits.concrete.is_colimit_exists_rep CategoryTheory.Limits.Concrete.isColimit_exists_rep
+/- warning: category_theory.limits.concrete.colimit_exists_rep -> CategoryTheory.Limits.Concrete.colimit_exists_rep is a dubious translation:
+lean 3 declaration is
+ forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] [_inst_2 : CategoryTheory.ConcreteCategory.{u1, u1, u2} C _inst_1] {J : Type.{u1}} [_inst_3 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) [_inst_4 : CategoryTheory.Limits.PreservesColimit.{u1, u1, u1, u1, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} J _inst_3 F (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)] [_inst_5 : CategoryTheory.Limits.HasColimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F] (x : coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_5)), Exists.{succ u1} J (fun (j : J) => Exists.{succ u1} (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j)) (fun (y : coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j)) => Eq.{succ u1} (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_5)) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_5)) (fun (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_5)) => (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j)) -> (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_5))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u2, u1, u1} C _inst_1 _inst_2 (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_5)) (CategoryTheory.Limits.colimit.ι.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_5 j) y) x))
+but is expected to have type
+ forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] [_inst_2 : CategoryTheory.ConcreteCategory.{u1, u1, u2} C _inst_1] {J : Type.{u1}} [_inst_3 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) [_inst_4 : CategoryTheory.Limits.PreservesColimit.{u1, u1, u1, u1, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} J _inst_3 F (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)] [_inst_5 : CategoryTheory.Limits.HasColimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F] (x : Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.ConcreteCategory.Forget.{u1, u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_5)), Exists.{succ u1} J (fun (j : J) => Exists.{succ u1} (Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.ConcreteCategory.Forget.{u1, u1, u2} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j)) (fun (y : Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.ConcreteCategory.Forget.{u1, u1, u2} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j)) => Eq.{succ u1} (Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_5)) (Prefunctor.map.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_5) (CategoryTheory.Limits.colimit.ι.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_5 j) y) x))
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.concrete.colimit_exists_rep CategoryTheory.Limits.Concrete.colimit_exists_repₓ'. -/
theorem Concrete.colimit_exists_rep [HasColimit F] (x : colimit F) :
∃ (j : J)(y : F.obj j), colimit.ι F j y = x :=
Concrete.isColimit_exists_rep F (colimit.isColimit _) x
#align category_theory.limits.concrete.colimit_exists_rep CategoryTheory.Limits.Concrete.colimit_exists_rep
+/- warning: category_theory.limits.concrete.is_colimit_rep_eq_of_exists -> CategoryTheory.Limits.Concrete.isColimit_rep_eq_of_exists is a dubious translation:
+lean 3 declaration is
+ forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] [_inst_2 : CategoryTheory.ConcreteCategory.{u1, u1, u2} C _inst_1] {J : Type.{u1}} [_inst_3 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) [_inst_4 : CategoryTheory.Limits.PreservesColimit.{u1, u1, u1, u1, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} J _inst_3 F (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)] {D : CategoryTheory.Limits.Cocone.{u1, u1, u1, u2} J _inst_3 C _inst_1 F} {i : J} {j : J}, (CategoryTheory.Limits.IsColimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D) -> (forall (x : coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i)) (y : coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j)), (Exists.{succ u1} J (fun (k : J) => Exists.{succ u1} (Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) i k) (fun (f : Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) i k) => Exists.{succ u1} (Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) j k) (fun (g : Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) j k) => Eq.{succ u1} (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) (fun (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) => (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i)) -> (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u2, u1, u1} C _inst_1 _inst_2 (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) (CategoryTheory.Functor.map.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i k f) x) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) (fun (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) => (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j)) -> (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u2, u1, u1} C _inst_1 _inst_2 (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) (CategoryTheory.Functor.map.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j k g) y))))) -> (Eq.{succ u1} (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) i)) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) i)) (fun (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) i)) => (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i)) -> (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) i))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u2, u1, u1} C _inst_1 _inst_2 (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) i)) (CategoryTheory.NatTrans.app.{u1, u1, u1, u2} J _inst_3 C _inst_1 F (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) (CategoryTheory.Limits.Cocone.ι.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D) i) x) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) j)) (fun (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) j)) => (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j)) -> (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) j))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u2, u1, u1} C _inst_1 _inst_2 (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) j)) (CategoryTheory.NatTrans.app.{u1, u1, u1, u2} J _inst_3 C _inst_1 F (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) (CategoryTheory.Limits.Cocone.ι.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D) j) y)))
+but is expected to have type
+ forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] [_inst_2 : CategoryTheory.ConcreteCategory.{u1, u1, u2} C _inst_1] {J : Type.{u1}} [_inst_3 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) [_inst_4 : CategoryTheory.Limits.PreservesColimit.{u1, u1, u1, u1, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} J _inst_3 F (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)] {D : CategoryTheory.Limits.Cocone.{u1, u1, u1, u2} J _inst_3 C _inst_1 F} {i : J} {j : J}, (CategoryTheory.Limits.IsColimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D) -> (forall (x : Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.ConcreteCategory.Forget.{u1, u1, u2} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) i)) (y : Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.ConcreteCategory.Forget.{u1, u1, u2} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j)), (Exists.{succ u1} J (fun (k : J) => Exists.{succ u1} (Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) i k) (fun (f : Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) i k) => Exists.{succ u1} (Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) j k) (fun (g : Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) j k) => Eq.{succ u1} (Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) k)) (Prefunctor.map.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) i) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) k) (Prefunctor.map.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) i k f) x) (Prefunctor.map.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) k) (Prefunctor.map.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j k g) y))))) -> (Eq.{succ u1} (Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 (Prefunctor.obj.{succ u1, succ u1, u2, max u1 u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D))) i)) (Prefunctor.map.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) i) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 (Prefunctor.obj.{succ u1, succ u1, u2, max u1 u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D))) i) (CategoryTheory.NatTrans.app.{u1, u1, u1, u2} J _inst_3 C _inst_1 F (Prefunctor.obj.{succ u1, succ u1, u2, max u1 u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) (CategoryTheory.Limits.Cocone.ι.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D) i) x) (Prefunctor.map.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 (Prefunctor.obj.{succ u1, succ u1, u2, max u1 u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D))) j) (CategoryTheory.NatTrans.app.{u1, u1, u1, u2} J _inst_3 C _inst_1 F (Prefunctor.obj.{succ u1, succ u1, u2, max u1 u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) (CategoryTheory.Limits.Cocone.ι.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D) j) y)))
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.concrete.is_colimit_rep_eq_of_exists CategoryTheory.Limits.Concrete.isColimit_rep_eq_of_existsₓ'. -/
theorem Concrete.isColimit_rep_eq_of_exists {D : Cocone F} {i j : J} (hD : IsColimit D)
(x : F.obj i) (y : F.obj j) (h : ∃ (k : _)(f : i ⟶ k)(g : j ⟶ k), F.map f x = F.map g y) :
D.ι.app i x = D.ι.app j y := by
@@ -242,6 +310,12 @@ theorem Concrete.isColimit_rep_eq_of_exists {D : Cocone F} {i j : J} (hD : IsCol
exact Quot.sound ⟨g, rfl⟩
#align category_theory.limits.concrete.is_colimit_rep_eq_of_exists CategoryTheory.Limits.Concrete.isColimit_rep_eq_of_exists
+/- warning: category_theory.limits.concrete.colimit_rep_eq_of_exists -> CategoryTheory.Limits.Concrete.colimit_rep_eq_of_exists is a dubious translation:
+lean 3 declaration is
+ forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] [_inst_2 : CategoryTheory.ConcreteCategory.{u1, u1, u2} C _inst_1] {J : Type.{u1}} [_inst_3 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) [_inst_4 : CategoryTheory.Limits.PreservesColimit.{u1, u1, u1, u1, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} J _inst_3 F (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)] [_inst_5 : CategoryTheory.Limits.HasColimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F] {i : J} {j : J} (x : coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i)) (y : coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j)), (Exists.{succ u1} J (fun (k : J) => Exists.{succ u1} (Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) i k) (fun (f : Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) i k) => Exists.{succ u1} (Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) j k) (fun (g : Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) j k) => Eq.{succ u1} (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) (fun (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) => (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i)) -> (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u2, u1, u1} C _inst_1 _inst_2 (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) (CategoryTheory.Functor.map.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i k f) x) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) (fun (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) => (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j)) -> (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u2, u1, u1} C _inst_1 _inst_2 (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) (CategoryTheory.Functor.map.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j k g) y))))) -> (Eq.{succ u1} (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_5)) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_5)) (fun (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_5)) => (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i)) -> (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_5))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u2, u1, u1} C _inst_1 _inst_2 (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_5)) (CategoryTheory.Limits.colimit.ι.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_5 i) x) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_5)) (fun (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_5)) => (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j)) -> (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_5))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u2, u1, u1} C _inst_1 _inst_2 (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_5)) (CategoryTheory.Limits.colimit.ι.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_5 j) y))
+but is expected to have type
+ forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] [_inst_2 : CategoryTheory.ConcreteCategory.{u1, u1, u2} C _inst_1] {J : Type.{u1}} [_inst_3 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) [_inst_4 : CategoryTheory.Limits.PreservesColimit.{u1, u1, u1, u1, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} J _inst_3 F (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)] [_inst_5 : CategoryTheory.Limits.HasColimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F] {i : J} {j : J} (x : Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.ConcreteCategory.Forget.{u1, u1, u2} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) i)) (y : Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.ConcreteCategory.Forget.{u1, u1, u2} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j)), (Exists.{succ u1} J (fun (k : J) => Exists.{succ u1} (Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) i k) (fun (f : Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) i k) => Exists.{succ u1} (Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) j k) (fun (g : Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) j k) => Eq.{succ u1} (Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) k)) (Prefunctor.map.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) i) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) k) (Prefunctor.map.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) i k f) x) (Prefunctor.map.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) k) (Prefunctor.map.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j k g) y))))) -> (Eq.{succ u1} (Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_5)) (Prefunctor.map.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) i) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_5) (CategoryTheory.Limits.colimit.ι.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_5 i) x) (Prefunctor.map.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_5) (CategoryTheory.Limits.colimit.ι.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_5 j) y))
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.concrete.colimit_rep_eq_of_exists CategoryTheory.Limits.Concrete.colimit_rep_eq_of_existsₓ'. -/
theorem Concrete.colimit_rep_eq_of_exists [HasColimit F] {i j : J} (x : F.obj i) (y : F.obj j)
(h : ∃ (k : _)(f : i ⟶ k)(g : j ⟶ k), F.map f x = F.map g y) :
colimit.ι F i x = colimit.ι F j y :=
@@ -252,6 +326,12 @@ section FilteredColimits
variable [IsFiltered J]
+/- warning: category_theory.limits.concrete.is_colimit_exists_of_rep_eq -> CategoryTheory.Limits.Concrete.isColimit_exists_of_rep_eq is a dubious translation:
+lean 3 declaration is
+ forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] [_inst_2 : CategoryTheory.ConcreteCategory.{u1, u1, u2} C _inst_1] {J : Type.{u1}} [_inst_3 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) [_inst_4 : CategoryTheory.Limits.PreservesColimit.{u1, u1, u1, u1, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} J _inst_3 F (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)] [_inst_5 : CategoryTheory.IsFiltered.{u1, u1} J _inst_3] {D : CategoryTheory.Limits.Cocone.{u1, u1, u1, u2} J _inst_3 C _inst_1 F} {i : J} {j : J}, (CategoryTheory.Limits.IsColimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D) -> (forall (x : coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i)) (y : coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j)), (Eq.{succ u1} (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) i)) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) i)) (fun (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) i)) => (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i)) -> (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) i))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u2, u1, u1} C _inst_1 _inst_2 (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) i)) (CategoryTheory.NatTrans.app.{u1, u1, u1, u2} J _inst_3 C _inst_1 F (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) (CategoryTheory.Limits.Cocone.ι.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D) i) x) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) j)) (fun (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) j)) => (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j)) -> (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) j))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u2, u1, u1} C _inst_1 _inst_2 (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) j)) (CategoryTheory.NatTrans.app.{u1, u1, u1, u2} J _inst_3 C _inst_1 F (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) (CategoryTheory.Limits.Cocone.ι.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D) j) y)) -> (Exists.{succ u1} J (fun (k : J) => Exists.{succ u1} (Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) i k) (fun (f : Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) i k) => Exists.{succ u1} (Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) j k) (fun (g : Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) j k) => Eq.{succ u1} (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) (fun (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) => (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i)) -> (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u2, u1, u1} C _inst_1 _inst_2 (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) (CategoryTheory.Functor.map.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i k f) x) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) (fun (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) => (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j)) -> (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u2, u1, u1} C _inst_1 _inst_2 (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) (CategoryTheory.Functor.map.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j k g) y))))))
+but is expected to have type
+ forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] [_inst_2 : CategoryTheory.ConcreteCategory.{u1, u1, u2} C _inst_1] {J : Type.{u1}} [_inst_3 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) [_inst_4 : CategoryTheory.Limits.PreservesColimit.{u1, u1, u1, u1, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} J _inst_3 F (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)] [_inst_5 : CategoryTheory.IsFiltered.{u1, u1} J _inst_3] {D : CategoryTheory.Limits.Cocone.{u1, u1, u1, u2} J _inst_3 C _inst_1 F} {i : J} {j : J}, (CategoryTheory.Limits.IsColimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D) -> (forall (x : Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.ConcreteCategory.Forget.{u1, u1, u2} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) i)) (y : Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.ConcreteCategory.Forget.{u1, u1, u2} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j)), (Eq.{succ u1} (Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 (Prefunctor.obj.{succ u1, succ u1, u2, max u1 u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D))) i)) (Prefunctor.map.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) i) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 (Prefunctor.obj.{succ u1, succ u1, u2, max u1 u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D))) i) (CategoryTheory.NatTrans.app.{u1, u1, u1, u2} J _inst_3 C _inst_1 F (Prefunctor.obj.{succ u1, succ u1, u2, max u1 u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) (CategoryTheory.Limits.Cocone.ι.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D) i) x) (Prefunctor.map.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 (Prefunctor.obj.{succ u1, succ u1, u2, max u1 u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D))) j) (CategoryTheory.NatTrans.app.{u1, u1, u1, u2} J _inst_3 C _inst_1 F (Prefunctor.obj.{succ u1, succ u1, u2, max u1 u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) (CategoryTheory.Limits.Cocone.ι.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D) j) y)) -> (Exists.{succ u1} J (fun (k : J) => Exists.{succ u1} (Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) i k) (fun (f : Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) i k) => Exists.{succ u1} (Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) j k) (fun (g : Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) j k) => Eq.{succ u1} (Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) k)) (Prefunctor.map.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) i) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) k) (Prefunctor.map.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) i k f) x) (Prefunctor.map.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) k) (Prefunctor.map.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j k g) y))))))
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.concrete.is_colimit_exists_of_rep_eq CategoryTheory.Limits.Concrete.isColimit_exists_of_rep_eqₓ'. -/
theorem Concrete.isColimit_exists_of_rep_eq {D : Cocone F} {i j : J} (hD : IsColimit D)
(x : F.obj i) (y : F.obj j) (h : D.ι.app _ x = D.ι.app _ y) :
∃ (k : _)(f : i ⟶ k)(g : j ⟶ k), F.map f x = F.map g y :=
@@ -294,18 +374,36 @@ theorem Concrete.isColimit_exists_of_rep_eq {D : Cocone F} {i j : J} (hD : IsCol
rw [is_filtered.coeq_condition]
#align category_theory.limits.concrete.is_colimit_exists_of_rep_eq CategoryTheory.Limits.Concrete.isColimit_exists_of_rep_eq
+/- warning: category_theory.limits.concrete.is_colimit_rep_eq_iff_exists -> CategoryTheory.Limits.Concrete.isColimit_rep_eq_iff_exists is a dubious translation:
+lean 3 declaration is
+ forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] [_inst_2 : CategoryTheory.ConcreteCategory.{u1, u1, u2} C _inst_1] {J : Type.{u1}} [_inst_3 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) [_inst_4 : CategoryTheory.Limits.PreservesColimit.{u1, u1, u1, u1, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} J _inst_3 F (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)] [_inst_5 : CategoryTheory.IsFiltered.{u1, u1} J _inst_3] {D : CategoryTheory.Limits.Cocone.{u1, u1, u1, u2} J _inst_3 C _inst_1 F} {i : J} {j : J}, (CategoryTheory.Limits.IsColimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D) -> (forall (x : coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i)) (y : coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j)), Iff (Eq.{succ u1} (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) i)) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) i)) (fun (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) i)) => (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i)) -> (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) i))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u2, u1, u1} C _inst_1 _inst_2 (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) i)) (CategoryTheory.NatTrans.app.{u1, u1, u1, u2} J _inst_3 C _inst_1 F (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) (CategoryTheory.Limits.Cocone.ι.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D) i) x) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) j)) (fun (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) j)) => (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j)) -> (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) j))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u2, u1, u1} C _inst_1 _inst_2 (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) j)) (CategoryTheory.NatTrans.app.{u1, u1, u1, u2} J _inst_3 C _inst_1 F (CategoryTheory.Functor.obj.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) (CategoryTheory.Limits.Cocone.ι.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D) j) y)) (Exists.{succ u1} J (fun (k : J) => Exists.{succ u1} (Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) i k) (fun (f : Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) i k) => Exists.{succ u1} (Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) j k) (fun (g : Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) j k) => Eq.{succ u1} (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) (fun (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) => (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i)) -> (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u2, u1, u1} C _inst_1 _inst_2 (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) (CategoryTheory.Functor.map.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i k f) x) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) (fun (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) => (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j)) -> (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u2, u1, u1} C _inst_1 _inst_2 (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) (CategoryTheory.Functor.map.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j k g) y))))))
+but is expected to have type
+ forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] [_inst_2 : CategoryTheory.ConcreteCategory.{u1, u1, u2} C _inst_1] {J : Type.{u1}} [_inst_3 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) [_inst_4 : CategoryTheory.Limits.PreservesColimit.{u1, u1, u1, u1, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} J _inst_3 F (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)] [_inst_5 : CategoryTheory.IsFiltered.{u1, u1} J _inst_3] {D : CategoryTheory.Limits.Cocone.{u1, u1, u1, u2} J _inst_3 C _inst_1 F} {i : J} {j : J}, (CategoryTheory.Limits.IsColimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D) -> (forall (x : Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.ConcreteCategory.Forget.{u1, u1, u2} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) i)) (y : Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.ConcreteCategory.Forget.{u1, u1, u2} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j)), Iff (Eq.{succ u1} (Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 (Prefunctor.obj.{succ u1, succ u1, u2, max u1 u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D))) i)) (Prefunctor.map.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) i) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 (Prefunctor.obj.{succ u1, succ u1, u2, max u1 u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D))) i) (CategoryTheory.NatTrans.app.{u1, u1, u1, u2} J _inst_3 C _inst_1 F (Prefunctor.obj.{succ u1, succ u1, u2, max u1 u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) (CategoryTheory.Limits.Cocone.ι.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D) i) x) (Prefunctor.map.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 (Prefunctor.obj.{succ u1, succ u1, u2, max u1 u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D))) j) (CategoryTheory.NatTrans.app.{u1, u1, u1, u2} J _inst_3 C _inst_1 F (Prefunctor.obj.{succ u1, succ u1, u2, max u1 u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u1 u2} (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, max u1 u2} C _inst_1 (CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.category.{u1, u1, u1, u2} J _inst_3 C _inst_1) (CategoryTheory.Functor.const.{u1, u1, u1, u2} J _inst_3 C _inst_1)) (CategoryTheory.Limits.Cocone.pt.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D)) (CategoryTheory.Limits.Cocone.ι.{u1, u1, u1, u2} J _inst_3 C _inst_1 F D) j) y)) (Exists.{succ u1} J (fun (k : J) => Exists.{succ u1} (Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) i k) (fun (f : Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) i k) => Exists.{succ u1} (Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) j k) (fun (g : Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) j k) => Eq.{succ u1} (Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) k)) (Prefunctor.map.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) i) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) k) (Prefunctor.map.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) i k f) x) (Prefunctor.map.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) k) (Prefunctor.map.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j k g) y))))))
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.concrete.is_colimit_rep_eq_iff_exists CategoryTheory.Limits.Concrete.isColimit_rep_eq_iff_existsₓ'. -/
theorem Concrete.isColimit_rep_eq_iff_exists {D : Cocone F} {i j : J} (hD : IsColimit D)
(x : F.obj i) (y : F.obj j) :
D.ι.app i x = D.ι.app j y ↔ ∃ (k : _)(f : i ⟶ k)(g : j ⟶ k), F.map f x = F.map g y :=
⟨Concrete.isColimit_exists_of_rep_eq _ hD _ _, Concrete.isColimit_rep_eq_of_exists _ hD _ _⟩
#align category_theory.limits.concrete.is_colimit_rep_eq_iff_exists CategoryTheory.Limits.Concrete.isColimit_rep_eq_iff_exists
+/- warning: category_theory.limits.concrete.colimit_exists_of_rep_eq -> CategoryTheory.Limits.Concrete.colimit_exists_of_rep_eq is a dubious translation:
+lean 3 declaration is
+ forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] [_inst_2 : CategoryTheory.ConcreteCategory.{u1, u1, u2} C _inst_1] {J : Type.{u1}} [_inst_3 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) [_inst_4 : CategoryTheory.Limits.PreservesColimit.{u1, u1, u1, u1, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} J _inst_3 F (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)] [_inst_5 : CategoryTheory.IsFiltered.{u1, u1} J _inst_3] [_inst_6 : CategoryTheory.Limits.HasColimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F] {i : J} {j : J} (x : coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i)) (y : coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j)), (Eq.{succ u1} (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_6)) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_6)) (fun (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_6)) => (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i)) -> (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_6))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u2, u1, u1} C _inst_1 _inst_2 (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_6)) (CategoryTheory.Limits.colimit.ι.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_6 i) x) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_6)) (fun (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_6)) => (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j)) -> (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_6))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u2, u1, u1} C _inst_1 _inst_2 (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_6)) (CategoryTheory.Limits.colimit.ι.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_6 j) y)) -> (Exists.{succ u1} J (fun (k : J) => Exists.{succ u1} (Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) i k) (fun (f : Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) i k) => Exists.{succ u1} (Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) j k) (fun (g : Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) j k) => Eq.{succ u1} (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) (fun (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) => (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i)) -> (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u2, u1, u1} C _inst_1 _inst_2 (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) (CategoryTheory.Functor.map.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i k f) x) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) (fun (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) => (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j)) -> (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u2, u1, u1} C _inst_1 _inst_2 (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) (CategoryTheory.Functor.map.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j k g) y)))))
+but is expected to have type
+ forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] [_inst_2 : CategoryTheory.ConcreteCategory.{u1, u1, u2} C _inst_1] {J : Type.{u1}} [_inst_3 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) [_inst_4 : CategoryTheory.Limits.PreservesColimit.{u1, u1, u1, u1, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} J _inst_3 F (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)] [_inst_5 : CategoryTheory.IsFiltered.{u1, u1} J _inst_3] [_inst_6 : CategoryTheory.Limits.HasColimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F] {i : J} {j : J} (x : Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.ConcreteCategory.Forget.{u1, u1, u2} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) i)) (y : Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.ConcreteCategory.Forget.{u1, u1, u2} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j)), (Eq.{succ u1} (Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_6)) (Prefunctor.map.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) i) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_6) (CategoryTheory.Limits.colimit.ι.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_6 i) x) (Prefunctor.map.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_6) (CategoryTheory.Limits.colimit.ι.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_6 j) y)) -> (Exists.{succ u1} J (fun (k : J) => Exists.{succ u1} (Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) i k) (fun (f : Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) i k) => Exists.{succ u1} (Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) j k) (fun (g : Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) j k) => Eq.{succ u1} (Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) k)) (Prefunctor.map.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) i) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) k) (Prefunctor.map.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) i k f) x) (Prefunctor.map.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) k) (Prefunctor.map.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j k g) y)))))
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.concrete.colimit_exists_of_rep_eq CategoryTheory.Limits.Concrete.colimit_exists_of_rep_eqₓ'. -/
theorem Concrete.colimit_exists_of_rep_eq [HasColimit F] {i j : J} (x : F.obj i) (y : F.obj j)
(h : colimit.ι F _ x = colimit.ι F _ y) :
∃ (k : _)(f : i ⟶ k)(g : j ⟶ k), F.map f x = F.map g y :=
Concrete.isColimit_exists_of_rep_eq F (colimit.isColimit _) x y h
#align category_theory.limits.concrete.colimit_exists_of_rep_eq CategoryTheory.Limits.Concrete.colimit_exists_of_rep_eq
+/- warning: category_theory.limits.concrete.colimit_rep_eq_iff_exists -> CategoryTheory.Limits.Concrete.colimit_rep_eq_iff_exists is a dubious translation:
+lean 3 declaration is
+ forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] [_inst_2 : CategoryTheory.ConcreteCategory.{u1, u1, u2} C _inst_1] {J : Type.{u1}} [_inst_3 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) [_inst_4 : CategoryTheory.Limits.PreservesColimit.{u1, u1, u1, u1, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} J _inst_3 F (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)] [_inst_5 : CategoryTheory.IsFiltered.{u1, u1} J _inst_3] [_inst_6 : CategoryTheory.Limits.HasColimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F] {i : J} {j : J} (x : coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i)) (y : coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j)), Iff (Eq.{succ u1} (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_6)) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_6)) (fun (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_6)) => (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i)) -> (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_6))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u2, u1, u1} C _inst_1 _inst_2 (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_6)) (CategoryTheory.Limits.colimit.ι.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_6 i) x) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_6)) (fun (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_6)) => (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j)) -> (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_6))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u2, u1, u1} C _inst_1 _inst_2 (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_6)) (CategoryTheory.Limits.colimit.ι.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_6 j) y)) (Exists.{succ u1} J (fun (k : J) => Exists.{succ u1} (Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) i k) (fun (f : Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) i k) => Exists.{succ u1} (Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) j k) (fun (g : Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) j k) => Eq.{succ u1} (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) (fun (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) => (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i)) -> (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u2, u1, u1} C _inst_1 _inst_2 (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) (CategoryTheory.Functor.map.{u1, u1, u1, u2} J _inst_3 C _inst_1 F i k f) x) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) (fun (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) => (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j)) -> (coeSort.{succ u2, succ (succ u1)} C Type.{u1} (CategoryTheory.ConcreteCategory.hasCoeToSort.{u2, u1, u1} C _inst_1 _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k))) (CategoryTheory.ConcreteCategory.hasCoeToFun.{u2, u1, u1} C _inst_1 _inst_2 (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} J _inst_3 C _inst_1 F k)) (CategoryTheory.Functor.map.{u1, u1, u1, u2} J _inst_3 C _inst_1 F j k g) y)))))
+but is expected to have type
+ forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] [_inst_2 : CategoryTheory.ConcreteCategory.{u1, u1, u2} C _inst_1] {J : Type.{u1}} [_inst_3 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u1, u1, u2} J _inst_3 C _inst_1) [_inst_4 : CategoryTheory.Limits.PreservesColimit.{u1, u1, u1, u1, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} J _inst_3 F (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)] [_inst_5 : CategoryTheory.IsFiltered.{u1, u1} J _inst_3] [_inst_6 : CategoryTheory.Limits.HasColimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F] {i : J} {j : J} (x : Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.ConcreteCategory.Forget.{u1, u1, u2} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) i)) (y : Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.ConcreteCategory.Forget.{u1, u1, u2} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j)), Iff (Eq.{succ u1} (Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_6)) (Prefunctor.map.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) i) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_6) (CategoryTheory.Limits.colimit.ι.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_6 i) x) (Prefunctor.map.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j) (CategoryTheory.Limits.colimit.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_6) (CategoryTheory.Limits.colimit.ι.{u1, u1, u1, u2} J _inst_3 C _inst_1 F _inst_6 j) y)) (Exists.{succ u1} J (fun (k : J) => Exists.{succ u1} (Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) i k) (fun (f : Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) i k) => Exists.{succ u1} (Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) j k) (fun (g : Quiver.Hom.{succ u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) j k) => Eq.{succ u1} (Prefunctor.obj.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) k)) (Prefunctor.map.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) i) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) k) (Prefunctor.map.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) i k f) x) (Prefunctor.map.{succ u1, succ u1, u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} 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, u2, succ u1} C _inst_1 Type.{u1} CategoryTheory.types.{u1} (CategoryTheory.forget.{u2, u1, u1} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j) (Prefunctor.obj.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) k) (Prefunctor.map.{succ u1, succ u1, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_3)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} J _inst_3 C _inst_1 F) j k g) y)))))
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.concrete.colimit_rep_eq_iff_exists CategoryTheory.Limits.Concrete.colimit_rep_eq_iff_existsₓ'. -/
theorem Concrete.colimit_rep_eq_iff_exists [HasColimit F] {i j : J} (x : F.obj i) (y : F.obj j) :
colimit.ι F i x = colimit.ι F j y ↔ ∃ (k : _)(f : i ⟶ k)(g : j ⟶ k), F.map f x = F.map g y :=
⟨Concrete.colimit_exists_of_rep_eq _ _ _, Concrete.colimit_rep_eq_of_exists _ _ _⟩
@@ -319,6 +417,7 @@ open WidePushout
open WidePushoutShape
+#print CategoryTheory.Limits.Concrete.widePushout_exists_rep /-
theorem Concrete.widePushout_exists_rep {B : C} {α : Type _} {X : α → C} (f : ∀ j : α, B ⟶ X j)
[HasWidePushout.{v} B X f] [PreservesColimit (wideSpan B X f) (forget C)]
(x : widePushout B X f) : (∃ y : B, head f y = x) ∨ ∃ (i : α)(y : X i), ι f i y = x :=
@@ -328,7 +427,9 @@ theorem Concrete.widePushout_exists_rep {B : C} {α : Type _} {X : α → C} (f
· right
use j, y
#align category_theory.limits.concrete.wide_pushout_exists_rep CategoryTheory.Limits.Concrete.widePushout_exists_rep
+-/
+#print CategoryTheory.Limits.Concrete.widePushout_exists_rep' /-
theorem Concrete.widePushout_exists_rep' {B : C} {α : Type _} [Nonempty α] {X : α → C}
(f : ∀ j : α, B ⟶ X j) [HasWidePushout.{v} B X f] [PreservesColimit (wideSpan B X f) (forget C)]
(x : widePushout B X f) : ∃ (i : α)(y : X i), ι f i y = x :=
@@ -339,6 +440,7 @@ theorem Concrete.widePushout_exists_rep' {B : C} {α : Type _} [Nonempty α] {X
simp only [← arrow_ι _ (Inhabited.default α), comp_apply]
· use i, y
#align category_theory.limits.concrete.wide_pushout_exists_rep' CategoryTheory.Limits.Concrete.widePushout_exists_rep'
+-/
end WidePushout
mathlib commit https://github.com/leanprover-community/mathlib/commit/57e09a1296bfb4330ddf6624f1028ba186117d82
@@ -93,7 +93,7 @@ section Multiequalizer
theorem Concrete.multiequalizer_ext {I : MulticospanIndex.{w} C} [HasMultiequalizer I]
[PreservesLimit I.multicospan (forget C)] (x y : multiequalizer I)
- (h : ∀ t : I.L, multiequalizer.ι I t x = multiequalizer.ι I t y) : x = y :=
+ (h : ∀ t : I.L, Multiequalizer.ι I t x = Multiequalizer.ι I t y) : x = y :=
by
apply concrete.limit_ext
rintro (a | b)
@@ -155,7 +155,7 @@ noncomputable def Concrete.multiequalizerEquiv (I : MulticospanIndex.{w} C) [Has
@[simp]
theorem Concrete.multiequalizerEquiv_apply (I : MulticospanIndex.{w} C) [HasMultiequalizer I]
[PreservesLimit I.multicospan (forget C)] (x : multiequalizer I) (i : I.L) :
- ((Concrete.multiequalizerEquiv I) x : ∀ i : I.L, I.left i) i = multiequalizer.ι I i x :=
+ ((Concrete.multiequalizerEquiv I) x : ∀ i : I.L, I.left i) i = Multiequalizer.ι I i x :=
rfl
#align category_theory.limits.concrete.multiequalizer_equiv_apply CategoryTheory.Limits.Concrete.multiequalizerEquiv_apply
mathlib commit https://github.com/leanprover-community/mathlib/commit/9da1b3534b65d9661eb8f42443598a92bbb49211
@@ -35,7 +35,7 @@ variable {C : Type u} [Category.{v} C] [ConcreteCategory.{max w v} C] {J : Type
(F : J ⥤ C) [PreservesLimit F (forget C)]
theorem Concrete.to_product_injective_of_isLimit {D : Cone F} (hD : IsLimit D) :
- Function.Injective fun (x : D.x) (j : J) => D.π.app j x :=
+ Function.Injective fun (x : D.pt) (j : J) => D.π.app j x :=
by
let E := (forget C).mapCone D
let hE : is_limit E := is_limit_of_preserves _ hD
@@ -51,7 +51,7 @@ theorem Concrete.to_product_injective_of_isLimit {D : Cone F} (hD : IsLimit D) :
apply Subtype.ext
#align category_theory.limits.concrete.to_product_injective_of_is_limit CategoryTheory.Limits.Concrete.to_product_injective_of_isLimit
-theorem Concrete.isLimit_ext {D : Cone F} (hD : IsLimit D) (x y : D.x) :
+theorem Concrete.isLimit_ext {D : Cone F} (hD : IsLimit D) (x y : D.pt) :
(∀ j, D.π.app j x = D.π.app j y) → x = y := fun h =>
Concrete.to_product_injective_of_isLimit _ hD (funext h)
#align category_theory.limits.concrete.is_limit_ext CategoryTheory.Limits.Concrete.isLimit_ext
@@ -180,7 +180,7 @@ variable {C : Type u} [Category.{v} C] [ConcreteCategory.{v} C] {J : Type v} [Sm
(F : J ⥤ C) [PreservesColimit F (forget C)]
theorem Concrete.from_union_surjective_of_isColimit {D : Cocone F} (hD : IsColimit D) :
- let ff : (Σj : J, F.obj j) → D.x := fun a => D.ι.app a.1 a.2
+ let ff : (Σj : J, F.obj j) → D.pt := fun a => D.ι.app a.1 a.2
Function.Surjective ff :=
by
intro ff
@@ -207,7 +207,7 @@ theorem Concrete.from_union_surjective_of_isColimit {D : Cocone F} (hD : IsColim
exact ⟨⟨j, a⟩, rfl⟩
#align category_theory.limits.concrete.from_union_surjective_of_is_colimit CategoryTheory.Limits.Concrete.from_union_surjective_of_isColimit
-theorem Concrete.isColimit_exists_rep {D : Cocone F} (hD : IsColimit D) (x : D.x) :
+theorem Concrete.isColimit_exists_rep {D : Cocone F} (hD : IsColimit D) (x : D.pt) :
∃ (j : J)(y : F.obj j), D.ι.app j y = x :=
by
obtain ⟨a, rfl⟩ := concrete.from_union_surjective_of_is_colimit F hD x
mathlib commit https://github.com/leanprover-community/mathlib/commit/bd9851ca476957ea4549eb19b40e7b5ade9428cc
In this PR, it is shown that if a functor G : J ⥤ C
to a concrete category has a limit and that forget C
is corepresentable, then G ⋙ forget C).sections
is small. As the corepresentability property holds in many concrete categories (e.g. groups, abelian groups) and that we already know since #11420 that limits exist under the smallness assumption in such categories, then this lemma may be used in future PR in order to show that usual forgetful functors preserve all limits (regardless of universe assumptions). This shall be convenient in the development of sheaves of modules.
In this PR, universes assumptions have also been generalized in the file Limits.Yoneda
. In order to do this, a small refactor of the file Limits.Types
was necessary. This introduces bijections like compCoyonedaSectionsEquiv (F : J ⥤ C) (X : C) : (F ⋙ coyoneda.obj (op X)).sections ≃ ((const J).obj X ⟶ F)
with general universe parameters. In order to reduce imports in Limits.Yoneda
, part of the file Limits.Types
was moved to a new file Limits.TypesFiltered
.
Co-authored-by: Joël Riou <joel.riou@universite-paris-saclay.fr>
@@ -5,7 +5,8 @@ Authors: Scott Morrison, Adam Topaz
-/
import Mathlib.CategoryTheory.ConcreteCategory.Basic
import Mathlib.CategoryTheory.Limits.Preserves.Basic
-import Mathlib.CategoryTheory.Limits.Types
+import Mathlib.CategoryTheory.Limits.TypesFiltered
+import Mathlib.CategoryTheory.Limits.Yoneda
import Mathlib.Tactic.ApplyFun
#align_import category_theory.limits.concrete_category from "leanprover-community/mathlib"@"c3019c79074b0619edb4b27553a91b2e82242395"
@@ -25,6 +26,15 @@ attribute [local instance] ConcreteCategory.instFunLike ConcreteCategory.hasCoeT
section Limits
+/-- If a functor `G : J ⥤ C` to a concrete category has a limit and that `forget C`
+is corepresentable, then `G ⋙ forget C).sections` is small. -/
+lemma Concrete.small_sections_of_hasLimit
+ {C : Type u} [Category.{v} C] [ConcreteCategory.{v} C]
+ [(forget C).Corepresentable] {J : Type w} [Category.{t} J] (G : J ⥤ C) [HasLimit G] :
+ Small.{v} (G ⋙ forget C).sections := by
+ rw [← Types.hasLimit_iff_small_sections]
+ infer_instance
+
variable {C : Type u} [Category.{v} C] [ConcreteCategory.{max w v} C] {J : Type w} [SmallCategory J]
(F : J ⥤ C) [PreservesLimit F (forget C)]
This is a smaller version of #7020. Before this PR, for limits, we gave instances for small indexing categories, but for colimits, we gave instances for TypeMax
. This PR changes so that we give instances for small indexing categories in both cases. This is more general and also more uniform.
Co-authored-by: Joël Riou <rioujoel@gmail.com>
@@ -114,7 +114,7 @@ theorem Concrete.isColimit_exists_of_rep_eq {D : Cocone F} {i j : J} (hD : IsCol
∃ (k : _) (f : i ⟶ k) (g : j ⟶ k), F.map f x = F.map g y := by
let E := (forget C).mapCocone D
let hE : IsColimit E := isColimitOfPreserves _ hD
- exact (Types.FilteredColimit.isColimit_eq_iff.{w, t, r} (F ⋙ forget C) hE).mp h
+ exact (Types.FilteredColimit.isColimit_eq_iff (F ⋙ forget C) hE).mp h
#align category_theory.limits.concrete.is_colimit_exists_of_rep_eq CategoryTheory.Limits.Concrete.isColimit_exists_of_rep_eq
theorem Concrete.isColimit_rep_eq_iff_exists {D : Cocone F} {i j : J} (hD : IsColimit D)
Generalizes universe assumptions for various statements on colimits in concrete categories. Also simplifies some proofs.
@@ -15,7 +15,7 @@ import Mathlib.Tactic.ApplyFun
-/
-universe w v u
+universe t w v u r
open CategoryTheory
@@ -58,33 +58,19 @@ end Limits
section Colimits
-variable {C : Type u} [Category.{v} C] [ConcreteCategory.{v} C] {J : Type v} [SmallCategory J]
+section
+
+variable {C : Type u} [Category.{v} C] [ConcreteCategory.{t} C] {J : Type w} [Category.{r} J]
(F : J ⥤ C) [PreservesColimit F (forget C)]
theorem Concrete.from_union_surjective_of_isColimit {D : Cocone F} (hD : IsColimit D) :
let ff : (Σj : J, F.obj j) → D.pt := fun a => D.ι.app a.1 a.2
Function.Surjective ff := by
- intro ff
- let E := (forget C).mapCocone D
- let hE : IsColimit E := isColimitOfPreserves _ hD
- let G := Types.colimitCocone.{v, v} (F ⋙ forget C)
- let hG := Types.colimitCoconeIsColimit.{v, v} (F ⋙ forget C)
- let T : E ≅ G := hE.uniqueUpToIso hG
- let TX : E.pt ≅ G.pt := (Cocones.forget _).mapIso T
- suffices Function.Surjective (TX.hom ∘ ff) by
- intro a
- obtain ⟨b, hb⟩ := this (TX.hom a)
- refine' ⟨b, _⟩
- apply_fun TX.inv at hb
- change (TX.hom ≫ TX.inv) (ff b) = (TX.hom ≫ TX.inv) _ at hb
- simpa only [TX.hom_inv_id] using hb
- have : TX.hom ∘ ff = fun a => G.ι.app a.1 a.2 := by
- ext a
- change (E.ι.app a.1 ≫ hE.desc G) a.2 = _
- rw [hE.fac]
- rw [this]
- rintro ⟨⟨j, a⟩⟩
- exact ⟨⟨j, a⟩, rfl⟩
+ intro ff x
+ let E : Cocone (F ⋙ forget C) := (forget C).mapCocone D
+ let hE : IsColimit E := isColimitOfPreserves (forget C) hD
+ obtain ⟨j, y, hy⟩ := Types.jointly_surjective_of_isColimit hE x
+ exact ⟨⟨j, y⟩, hy⟩
#align category_theory.limits.concrete.from_union_surjective_of_is_colimit CategoryTheory.Limits.Concrete.from_union_surjective_of_isColimit
theorem Concrete.isColimit_exists_rep {D : Cocone F} (hD : IsColimit D) (x : D.pt) :
@@ -98,92 +84,55 @@ theorem Concrete.colimit_exists_rep [HasColimit F] (x : ↑(colimit F)) :
Concrete.isColimit_exists_rep F (colimit.isColimit _) x
#align category_theory.limits.concrete.colimit_exists_rep CategoryTheory.Limits.Concrete.colimit_exists_rep
-theorem Concrete.isColimit_rep_eq_of_exists {D : Cocone F} {i j : J} (hD : IsColimit D)
- (x : F.obj i) (y : F.obj j) (h : ∃ (k : _) (f : i ⟶ k) (g : j ⟶ k), F.map f x = F.map g y) :
+theorem Concrete.isColimit_rep_eq_of_exists {D : Cocone F} {i j : J} (x : F.obj i) (y : F.obj j)
+ (h : ∃ (k : _) (f : i ⟶ k) (g : j ⟶ k), F.map f x = F.map g y) :
D.ι.app i x = D.ι.app j y := by
let E := (forget C).mapCocone D
- let hE : IsColimit E := isColimitOfPreserves _ hD
- let G := Types.colimitCocone.{v, v} (F ⋙ forget C)
- let hG := Types.colimitCoconeIsColimit.{v, v} (F ⋙ forget C)
- let T : E ≅ G := hE.uniqueUpToIso hG
- let TX : E.pt ≅ G.pt := (Cocones.forget _).mapIso T
- apply_fun TX.hom using injective_of_mono TX.hom
- change (E.ι.app i ≫ TX.hom) x = (E.ι.app j ≫ TX.hom) y
- erw [T.hom.w, T.hom.w]
- obtain ⟨k, f, g, h⟩ := h
- have : G.ι.app i x = (G.ι.app k (F.map f x) : G.pt) := Quot.sound ⟨f, rfl⟩
- rw [this, h]
- symm
- exact Quot.sound ⟨g, rfl⟩
+ obtain ⟨k, f, g, (hfg : (F ⋙ forget C).map f x = F.map g y)⟩ := h
+ let h1 : (F ⋙ forget C).map f ≫ E.ι.app k = E.ι.app i := E.ι.naturality f
+ let h2 : (F ⋙ forget C).map g ≫ E.ι.app k = E.ι.app j := E.ι.naturality g
+ show E.ι.app i x = E.ι.app j y
+ rw [← h1, types_comp_apply, hfg]
+ exact congrFun h2 y
#align category_theory.limits.concrete.is_colimit_rep_eq_of_exists CategoryTheory.Limits.Concrete.isColimit_rep_eq_of_exists
theorem Concrete.colimit_rep_eq_of_exists [HasColimit F] {i j : J} (x : F.obj i) (y : F.obj j)
(h : ∃ (k : _) (f : i ⟶ k) (g : j ⟶ k), F.map f x = F.map g y) :
colimit.ι F i x = colimit.ι F j y :=
- Concrete.isColimit_rep_eq_of_exists F (colimit.isColimit _) x y h
+ Concrete.isColimit_rep_eq_of_exists F x y h
#align category_theory.limits.concrete.colimit_rep_eq_of_exists CategoryTheory.Limits.Concrete.colimit_rep_eq_of_exists
+end
+
section FilteredColimits
-variable [IsFiltered J]
+variable {C : Type u} [Category.{v} C] [ConcreteCategory.{max t w} C] {J : Type w} [Category.{r} J]
+ (F : J ⥤ C) [PreservesColimit F (forget C)] [IsFiltered J]
theorem Concrete.isColimit_exists_of_rep_eq {D : Cocone F} {i j : J} (hD : IsColimit D)
(x : F.obj i) (y : F.obj j) (h : D.ι.app _ x = D.ι.app _ y) :
∃ (k : _) (f : i ⟶ k) (g : j ⟶ k), F.map f x = F.map g y := by
let E := (forget C).mapCocone D
let hE : IsColimit E := isColimitOfPreserves _ hD
- let G := Types.colimitCocone.{v, v} (F ⋙ forget C)
- let hG := Types.colimitCoconeIsColimit.{v, v} (F ⋙ forget C)
- let T : E ≅ G := hE.uniqueUpToIso hG
- let TX : E.pt ≅ G.pt := (Cocones.forget _).mapIso T
- apply_fun TX.hom at h
- change (E.ι.app i ≫ TX.hom) x = (E.ι.app j ≫ TX.hom) y at h
- erw [T.hom.w, T.hom.w] at h
- replace h := Quot.exact _ h
- suffices
- ∀ (a b : Σj, F.obj j) (_ : EqvGen (Limits.Types.Quot.Rel.{v, v} (F ⋙ forget C)) a b),
- ∃ (k : _) (f : a.1 ⟶ k) (g : b.1 ⟶ k), F.map f a.2 = F.map g b.2
- by exact this ⟨i, x⟩ ⟨j, y⟩ h
- intro a b h
- induction h with
- | rel x y hh =>
- obtain ⟨e, he⟩ := hh
- use y.1, e, 𝟙 _
- simpa using he.symm
- | refl x =>
- exact ⟨x.1, 𝟙 _, 𝟙 _, rfl⟩
- | symm x y _ hh =>
- obtain ⟨k, f, g, hh⟩ := hh
- exact ⟨k, g, f, hh.symm⟩
- | trans x y z _ _ hh1 hh2 =>
- obtain ⟨k1, f1, g1, h1⟩ := hh1
- obtain ⟨k2, f2, g2, h2⟩ := hh2
- let k0 : J := IsFiltered.max k1 k2
- let e1 : k1 ⟶ k0 := IsFiltered.leftToMax _ _
- let e2 : k2 ⟶ k0 := IsFiltered.rightToMax _ _
- let k : J := IsFiltered.coeq (g1 ≫ e1) (f2 ≫ e2)
- let e : k0 ⟶ k := IsFiltered.coeqHom _ _
- use k, f1 ≫ e1 ≫ e, g2 ≫ e2 ≫ e
- simp only [F.map_comp, comp_apply, h1, ← h2]
- simp only [← comp_apply, ← F.map_comp]
- rw [IsFiltered.coeq_condition]
+ exact (Types.FilteredColimit.isColimit_eq_iff.{w, t, r} (F ⋙ forget C) hE).mp h
#align category_theory.limits.concrete.is_colimit_exists_of_rep_eq CategoryTheory.Limits.Concrete.isColimit_exists_of_rep_eq
theorem Concrete.isColimit_rep_eq_iff_exists {D : Cocone F} {i j : J} (hD : IsColimit D)
(x : F.obj i) (y : F.obj j) :
D.ι.app i x = D.ι.app j y ↔ ∃ (k : _) (f : i ⟶ k) (g : j ⟶ k), F.map f x = F.map g y :=
- ⟨Concrete.isColimit_exists_of_rep_eq _ hD _ _, Concrete.isColimit_rep_eq_of_exists _ hD _ _⟩
+ ⟨Concrete.isColimit_exists_of_rep_eq.{t} _ hD _ _,
+ Concrete.isColimit_rep_eq_of_exists _ _ _⟩
#align category_theory.limits.concrete.is_colimit_rep_eq_iff_exists CategoryTheory.Limits.Concrete.isColimit_rep_eq_iff_exists
theorem Concrete.colimit_exists_of_rep_eq [HasColimit F] {i j : J} (x : F.obj i) (y : F.obj j)
(h : colimit.ι F _ x = colimit.ι F _ y) :
∃ (k : _) (f : i ⟶ k) (g : j ⟶ k), F.map f x = F.map g y :=
- Concrete.isColimit_exists_of_rep_eq F (colimit.isColimit _) x y h
+ Concrete.isColimit_exists_of_rep_eq.{t} F (colimit.isColimit _) x y h
#align category_theory.limits.concrete.colimit_exists_of_rep_eq CategoryTheory.Limits.Concrete.colimit_exists_of_rep_eq
theorem Concrete.colimit_rep_eq_iff_exists [HasColimit F] {i j : J} (x : F.obj i) (y : F.obj j) :
colimit.ι F i x = colimit.ι F j y ↔ ∃ (k : _) (f : i ⟶ k) (g : j ⟶ k), F.map f x = F.map g y :=
- ⟨Concrete.colimit_exists_of_rep_eq _ _ _, Concrete.colimit_rep_eq_of_exists _ _ _⟩
+ ⟨Concrete.colimit_exists_of_rep_eq.{t} _ _ _, Concrete.colimit_rep_eq_of_exists _ _ _⟩
#align category_theory.limits.concrete.colimit_rep_eq_iff_exists CategoryTheory.Limits.Concrete.colimit_rep_eq_iff_exists
end FilteredColimits
FunLike
(#9833)
This follows up from #9785, which renamed FunLike
to DFunLike
, by introducing a new abbreviation FunLike F α β := DFunLike F α (fun _ => β)
, to make the non-dependent use of FunLike
easier.
I searched for the pattern DFunLike.*fun
and DFunLike.*λ
in all files to replace expressions of the form DFunLike F α (fun _ => β)
with FunLike F α β
. I did this everywhere except for extends
clauses for two reasons: it would conflict with #8386, and more importantly extends
must directly refer to a structure with no unfolding of def
s or abbrev
s.
@@ -21,7 +21,7 @@ open CategoryTheory
namespace CategoryTheory.Limits
-attribute [local instance] ConcreteCategory.instDFunLike ConcreteCategory.hasCoeToSort
+attribute [local instance] ConcreteCategory.instFunLike ConcreteCategory.hasCoeToSort
section Limits
FunLike
to DFunLike
(#9785)
This prepares for the introduction of a non-dependent synonym of FunLike, which helps a lot with keeping #8386 readable.
This is entirely search-and-replace in 680197f combined with manual fixes in 4145626, e900597 and b8428f8. The commands that generated this change:
sed -i 's/\bFunLike\b/DFunLike/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean
sed -i 's/\btoFunLike\b/toDFunLike/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean
sed -i 's/import Mathlib.Data.DFunLike/import Mathlib.Data.FunLike/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean
sed -i 's/\bHom_FunLike\b/Hom_DFunLike/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean
sed -i 's/\binstFunLike\b/instDFunLike/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean
sed -i 's/\bfunLike\b/instDFunLike/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean
sed -i 's/\btoo many metavariables to apply `fun_like.has_coe_to_fun`/too many metavariables to apply `DFunLike.hasCoeToFun`/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean
Co-authored-by: Anne Baanen <Vierkantor@users.noreply.github.com>
@@ -21,7 +21,7 @@ open CategoryTheory
namespace CategoryTheory.Limits
-attribute [local instance] ConcreteCategory.funLike ConcreteCategory.hasCoeToSort
+attribute [local instance] ConcreteCategory.instDFunLike ConcreteCategory.hasCoeToSort
section Limits
cases x with | ...
instead of cases x; case => ...
(#9321)
This converts usages of the pattern
cases h
case inl h' => ...
case inr h' => ...
which derive from mathported code, to the "structured cases
" syntax:
cases h with
| inl h' => ...
| inr h' => ...
The case where the subgoals are handled with ·
instead of case
is more contentious (and much more numerous) so I left those alone. This pattern also appears with cases'
, induction
, induction'
, and rcases
. Furthermore, there is a similar transformation for by_cases
:
by_cases h : cond
case pos => ...
case neg => ...
is replaced by:
if h : cond then
...
else
...
Co-authored-by: Mario Carneiro <di.gama@gmail.com>
@@ -145,17 +145,17 @@ theorem Concrete.isColimit_exists_of_rep_eq {D : Cocone F} {i j : J} (hD : IsCol
∃ (k : _) (f : a.1 ⟶ k) (g : b.1 ⟶ k), F.map f a.2 = F.map g b.2
by exact this ⟨i, x⟩ ⟨j, y⟩ h
intro a b h
- induction h
- case rel x y hh =>
+ induction h with
+ | rel x y hh =>
obtain ⟨e, he⟩ := hh
use y.1, e, 𝟙 _
simpa using he.symm
- case refl x =>
+ | refl x =>
exact ⟨x.1, 𝟙 _, 𝟙 _, rfl⟩
- case symm x y _ hh =>
+ | symm x y _ hh =>
obtain ⟨k, f, g, hh⟩ := hh
exact ⟨k, g, f, hh.symm⟩
- case trans x y z _ _ hh1 hh2 =>
+ | trans x y z _ _ hh1 hh2 =>
obtain ⟨k1, f1, g1, h1⟩ := hh1
obtain ⟨k2, f2, g2, h2⟩ := hh2
let k0 : J := IsFiltered.max k1 k2
@@ -3,12 +3,9 @@ Copyright (c) 2017 Scott Morrison. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Scott Morrison, Adam Topaz
-/
+import Mathlib.CategoryTheory.ConcreteCategory.Basic
import Mathlib.CategoryTheory.Limits.Preserves.Basic
import Mathlib.CategoryTheory.Limits.Types
-import Mathlib.CategoryTheory.Limits.Shapes.WidePullbacks
-import Mathlib.CategoryTheory.Limits.Shapes.Multiequalizer
-import Mathlib.CategoryTheory.ConcreteCategory.Basic
-import Mathlib.CategoryTheory.Limits.Shapes.Kernels
import Mathlib.Tactic.ApplyFun
#align_import category_theory.limits.concrete_category from "leanprover-community/mathlib"@"c3019c79074b0619edb4b27553a91b2e82242395"
@@ -57,112 +54,10 @@ theorem Concrete.limit_ext [HasLimit F] (x y : ↑(limit F)) :
Concrete.isLimit_ext F (limit.isLimit _) _ _
#align category_theory.limits.concrete.limit_ext CategoryTheory.Limits.Concrete.limit_ext
-section WidePullback
-
-open WidePullback
-
-open WidePullbackShape
-
-theorem Concrete.widePullback_ext {B : C} {ι : Type w} {X : ι → C} (f : ∀ j : ι, X j ⟶ B)
- [HasWidePullback B X f] [PreservesLimit (wideCospan B X f) (forget C)]
- (x y : ↑(widePullback B X f)) (h₀ : base f x = base f y) (h : ∀ j, π f j x = π f j y) :
- x = y := by
- apply Concrete.limit_ext
- rintro (_ | j)
- · exact h₀
- · apply h
-#align category_theory.limits.concrete.wide_pullback_ext CategoryTheory.Limits.Concrete.widePullback_ext
-
-theorem Concrete.widePullback_ext' {B : C} {ι : Type w} [Nonempty ι] {X : ι → C}
- (f : ∀ j : ι, X j ⟶ B) [HasWidePullback.{w} B X f]
- [PreservesLimit (wideCospan B X f) (forget C)] (x y : ↑(widePullback B X f))
- (h : ∀ j, π f j x = π f j y) : x = y := by
- apply Concrete.widePullback_ext _ _ _ _ h
- inhabit ι
- simp only [← π_arrow f default, comp_apply, h]
-#align category_theory.limits.concrete.wide_pullback_ext' CategoryTheory.Limits.Concrete.widePullback_ext'
-
-end WidePullback
-
-section Multiequalizer
-
-theorem Concrete.multiequalizer_ext {I : MulticospanIndex.{w} C} [HasMultiequalizer I]
- [PreservesLimit I.multicospan (forget C)] (x y : ↑(multiequalizer I))
- (h : ∀ t : I.L, Multiequalizer.ι I t x = Multiequalizer.ι I t y) : x = y := by
- apply Concrete.limit_ext
- rintro (a | b)
- · apply h
- · rw [← limit.w I.multicospan (WalkingMulticospan.Hom.fst b), comp_apply, comp_apply]
- simp [h]
-#align category_theory.limits.concrete.multiequalizer_ext CategoryTheory.Limits.Concrete.multiequalizer_ext
-
-/-- An auxiliary equivalence to be used in `multiequalizerEquiv` below.-/
-def Concrete.multiequalizerEquivAux (I : MulticospanIndex C) :
- (I.multicospan ⋙ forget C).sections ≃
- { x : ∀ i : I.L, I.left i // ∀ i : I.R, I.fst i (x _) = I.snd i (x _) } where
- toFun x :=
- ⟨fun i => x.1 (WalkingMulticospan.left _), fun i => by
- have a := x.2 (WalkingMulticospan.Hom.fst i)
- have b := x.2 (WalkingMulticospan.Hom.snd i)
- rw [← b] at a
- exact a⟩
- invFun x :=
- { val := fun j =>
- match j with
- | WalkingMulticospan.left a => x.1 _
- | WalkingMulticospan.right b => I.fst b (x.1 _)
- property := by
- rintro (a | b) (a' | b') (f | f | f)
- · simp
- · rfl
- · dsimp
- exact (x.2 b').symm
- · simp }
- left_inv := by
- intro x; ext (a | b)
- · rfl
- · rw [← x.2 (WalkingMulticospan.Hom.fst b)]
- rfl
- right_inv := by
- intro x
- ext i
- rfl
-#align category_theory.limits.concrete.multiequalizer_equiv_aux CategoryTheory.Limits.Concrete.multiequalizerEquivAux
-
-/-- The equivalence between the noncomputable multiequalizer and
-the concrete multiequalizer. -/
-noncomputable def Concrete.multiequalizerEquiv (I : MulticospanIndex.{w} C) [HasMultiequalizer I]
- [PreservesLimit I.multicospan (forget C)] :
- (multiequalizer I : C) ≃
- { x : ∀ i : I.L, I.left i // ∀ i : I.R, I.fst i (x _) = I.snd i (x _) } := by
- let h1 := limit.isLimit I.multicospan
- let h2 := isLimitOfPreserves (forget C) h1
- let E := h2.conePointUniqueUpToIso (Types.limitConeIsLimit.{w, v} _)
- exact Equiv.trans E.toEquiv (Concrete.multiequalizerEquivAux.{w, v} I)
-#align category_theory.limits.concrete.multiequalizer_equiv CategoryTheory.Limits.Concrete.multiequalizerEquiv
-
-@[simp]
-theorem Concrete.multiequalizerEquiv_apply (I : MulticospanIndex.{w} C) [HasMultiequalizer I]
- [PreservesLimit I.multicospan (forget C)] (x : ↑(multiequalizer I)) (i : I.L) :
- ((Concrete.multiequalizerEquiv I) x : ∀ i : I.L, I.left i) i = Multiequalizer.ι I i x :=
- rfl
-#align category_theory.limits.concrete.multiequalizer_equiv_apply CategoryTheory.Limits.Concrete.multiequalizerEquiv_apply
-
-end Multiequalizer
-
--- TODO: Add analogous lemmas about products and equalizers.
end Limits
section Colimits
--- We don't mark this as an `@[ext]` lemma as we don't always want to work elementwise.
-theorem cokernel_funext {C : Type*} [Category C] [HasZeroMorphisms C] [ConcreteCategory C]
- {M N K : C} {f : M ⟶ N} [HasCokernel f] {g h : cokernel f ⟶ K}
- (w : ∀ n : N, g (cokernel.π f n) = h (cokernel.π f n)) : g = h := by
- ext x
- simpa using w x
-#align category_theory.limits.cokernel_funext CategoryTheory.Limits.cokernel_funext
-
variable {C : Type u} [Category.{v} C] [ConcreteCategory.{v} C] {J : Type v} [SmallCategory J]
(F : J ⥤ C) [PreservesColimit F (forget C)]
@@ -293,37 +188,6 @@ theorem Concrete.colimit_rep_eq_iff_exists [HasColimit F] {i j : J} (x : F.obj i
end FilteredColimits
-section WidePushout
-
-open WidePushout
-
-open WidePushoutShape
-
-theorem Concrete.widePushout_exists_rep {B : C} {α : Type _} {X : α → C} (f : ∀ j : α, B ⟶ X j)
- [HasWidePushout.{v} B X f] [PreservesColimit (wideSpan B X f) (forget C)]
- (x : ↑(widePushout B X f)) : (∃ y : B, head f y = x) ∨ ∃ (i : α) (y : X i), ι f i y = x := by
- obtain ⟨_ | j, y, rfl⟩ := Concrete.colimit_exists_rep _ x
- · left
- use y
- rfl
- · right
- use j, y
- rfl
-#align category_theory.limits.concrete.wide_pushout_exists_rep CategoryTheory.Limits.Concrete.widePushout_exists_rep
-
-theorem Concrete.widePushout_exists_rep' {B : C} {α : Type _} [Nonempty α] {X : α → C}
- (f : ∀ j : α, B ⟶ X j) [HasWidePushout.{v} B X f] [PreservesColimit (wideSpan B X f) (forget C)]
- (x : ↑(widePushout B X f)) : ∃ (i : α) (y : X i), ι f i y = x := by
- rcases Concrete.widePushout_exists_rep f x with (⟨y, rfl⟩ | ⟨i, y, rfl⟩)
- · inhabit α
- use default, f _ y
- simp only [← arrow_ι _ default, comp_apply]
- · use i, y
-#align category_theory.limits.concrete.wide_pushout_exists_rep' CategoryTheory.Limits.Concrete.widePushout_exists_rep'
-
-end WidePushout
-
--- TODO: Add analogous lemmas about coproducts and coequalizers.
end Colimits
end CategoryTheory.Limits
apply_fun
(#6732)
withMainContext
so that locals are treated properly@@ -180,8 +180,7 @@ theorem Concrete.from_union_surjective_of_isColimit {D : Cocone F} (hD : IsColim
intro a
obtain ⟨b, hb⟩ := this (TX.hom a)
refine' ⟨b, _⟩
- -- porting note: `apply_fun TX.inv at hb` does not work here
- replace hb := congr_arg TX.inv hb
+ apply_fun TX.inv at hb
change (TX.hom ≫ TX.inv) (ff b) = (TX.hom ≫ TX.inv) _ at hb
simpa only [TX.hom_inv_id] using hb
have : TX.hom ∘ ff = fun a => G.ι.app a.1 a.2 := by
@@ -213,10 +212,7 @@ theorem Concrete.isColimit_rep_eq_of_exists {D : Cocone F} {i j : J} (hD : IsCol
let hG := Types.colimitCoconeIsColimit.{v, v} (F ⋙ forget C)
let T : E ≅ G := hE.uniqueUpToIso hG
let TX : E.pt ≅ G.pt := (Cocones.forget _).mapIso T
- -- porting note: `apply_fun TX.hom` does not work here
- apply (show Function.Bijective TX.hom by
- rw [← isIso_iff_bijective]
- apply IsIso.of_iso).1
+ apply_fun TX.hom using injective_of_mono TX.hom
change (E.ι.app i ≫ TX.hom) x = (E.ι.app j ≫ TX.hom) y
erw [T.hom.w, T.hom.w]
obtain ⟨k, f, g, h⟩ := h
@@ -245,8 +241,7 @@ theorem Concrete.isColimit_exists_of_rep_eq {D : Cocone F} {i j : J} (hD : IsCol
let hG := Types.colimitCoconeIsColimit.{v, v} (F ⋙ forget C)
let T : E ≅ G := hE.uniqueUpToIso hG
let TX : E.pt ≅ G.pt := (Cocones.forget _).mapIso T
- -- porting note: `apply_fun TX.hom at h` does not work here
- replace h := congr_arg TX.hom h
+ apply_fun TX.hom at h
change (E.ι.app i ≫ TX.hom) x = (E.ι.app j ≫ TX.hom) y at h
erw [T.hom.w, T.hom.w] at h
replace h := Quot.exact _ h
Type _
and Sort _
(#6499)
We remove all possible occurences of Type _
and Sort _
in favor of Type*
and Sort*
.
This has nice performance benefits.
@@ -156,7 +156,7 @@ end Limits
section Colimits
-- We don't mark this as an `@[ext]` lemma as we don't always want to work elementwise.
-theorem cokernel_funext {C : Type _} [Category C] [HasZeroMorphisms C] [ConcreteCategory C]
+theorem cokernel_funext {C : Type*} [Category C] [HasZeroMorphisms C] [ConcreteCategory C]
{M N K : C} {f : M ⟶ N} [HasCokernel f] {g h : cokernel f ⟶ K}
(w : ∀ n : N, g (cokernel.π f n) = h (cokernel.π f n)) : g = h := by
ext x
@@ -130,7 +130,7 @@ def Concrete.multiequalizerEquivAux (I : MulticospanIndex C) :
#align category_theory.limits.concrete.multiequalizer_equiv_aux CategoryTheory.Limits.Concrete.multiequalizerEquivAux
/-- The equivalence between the noncomputable multiequalizer and
-and the concrete multiequalizer. -/
+the concrete multiequalizer. -/
noncomputable def Concrete.multiequalizerEquiv (I : MulticospanIndex.{w} C) [HasMultiequalizer I]
[PreservesLimit I.multicospan (forget C)] :
(multiequalizer I : C) ≃
@@ -2,11 +2,6 @@
Copyright (c) 2017 Scott Morrison. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Scott Morrison, Adam Topaz
-
-! This file was ported from Lean 3 source module category_theory.limits.concrete_category
-! leanprover-community/mathlib commit c3019c79074b0619edb4b27553a91b2e82242395
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
-/
import Mathlib.CategoryTheory.Limits.Preserves.Basic
import Mathlib.CategoryTheory.Limits.Types
@@ -16,6 +11,8 @@ import Mathlib.CategoryTheory.ConcreteCategory.Basic
import Mathlib.CategoryTheory.Limits.Shapes.Kernels
import Mathlib.Tactic.ApplyFun
+#align_import category_theory.limits.concrete_category from "leanprover-community/mathlib"@"c3019c79074b0619edb4b27553a91b2e82242395"
+
/-!
# Facts about (co)limits of functors into concrete categories
-/
@@ -162,9 +162,8 @@ section Colimits
theorem cokernel_funext {C : Type _} [Category C] [HasZeroMorphisms C] [ConcreteCategory C]
{M N K : C} {f : M ⟶ N} [HasCokernel f] {g h : cokernel f ⟶ K}
(w : ∀ n : N, g (cokernel.π f n) = h (cokernel.π f n)) : g = h := by
- apply coequalizer.hom_ext
- apply ConcreteCategory.hom_ext _ _
- simpa using w
+ ext x
+ simpa using w x
#align category_theory.limits.cokernel_funext CategoryTheory.Limits.cokernel_funext
variable {C : Type u} [Category.{v} C] [ConcreteCategory.{v} C] {J : Type v} [SmallCategory J]
@@ -27,7 +27,7 @@ open CategoryTheory
namespace CategoryTheory.Limits
-attribute [local instance] ConcreteCategory.hasCoeToFun ConcreteCategory.hasCoeToSort
+attribute [local instance] ConcreteCategory.funLike ConcreteCategory.hasCoeToSort
section Limits
@@ -95,7 +95,8 @@ theorem Concrete.multiequalizer_ext {I : MulticospanIndex.{w} C} [HasMultiequali
apply Concrete.limit_ext
rintro (a | b)
· apply h
- · rw [← limit.w I.multicospan (WalkingMulticospan.Hom.fst b), comp_apply, comp_apply, h]
+ · rw [← limit.w I.multicospan (WalkingMulticospan.Hom.fst b), comp_apply, comp_apply]
+ simp [h]
#align category_theory.limits.concrete.multiequalizer_ext CategoryTheory.Limits.Concrete.multiequalizer_ext
/-- An auxiliary equivalence to be used in `multiequalizerEquiv` below.-/
@@ -115,18 +116,15 @@ def Concrete.multiequalizerEquivAux (I : MulticospanIndex C) :
| WalkingMulticospan.right b => I.fst b (x.1 _)
property := by
rintro (a | b) (a' | b') (f | f | f)
- · change (I.multicospan.map (𝟙 _)) _ = _
- simp
+ · simp
· rfl
· dsimp
- erw [← x.2 b']
- · change (I.multicospan.map (𝟙 _)) _ = _
- simp }
+ exact (x.2 b').symm
+ · simp }
left_inv := by
intro x; ext (a | b)
· rfl
- · change _ = x.val _
- rw [← x.2 (WalkingMulticospan.Hom.fst b)]
+ · rw [← x.2 (WalkingMulticospan.Hom.fst b)]
rfl
right_inv := by
intro x
@@ -316,8 +314,10 @@ theorem Concrete.widePushout_exists_rep {B : C} {α : Type _} {X : α → C} (f
obtain ⟨_ | j, y, rfl⟩ := Concrete.colimit_exists_rep _ x
· left
use y
+ rfl
· right
use j, y
+ rfl
#align category_theory.limits.concrete.wide_pushout_exists_rep CategoryTheory.Limits.Concrete.widePushout_exists_rep
theorem Concrete.widePushout_exists_rep' {B : C} {α : Type _} [Nonempty α] {X : α → C}
@@ -200,18 +200,18 @@ theorem Concrete.from_union_surjective_of_isColimit {D : Cocone F} (hD : IsColim
#align category_theory.limits.concrete.from_union_surjective_of_is_colimit CategoryTheory.Limits.Concrete.from_union_surjective_of_isColimit
theorem Concrete.isColimit_exists_rep {D : Cocone F} (hD : IsColimit D) (x : D.pt) :
- ∃ (j : J)(y : F.obj j), D.ι.app j y = x := by
+ ∃ (j : J) (y : F.obj j), D.ι.app j y = x := by
obtain ⟨a, rfl⟩ := Concrete.from_union_surjective_of_isColimit F hD x
exact ⟨a.1, a.2, rfl⟩
#align category_theory.limits.concrete.is_colimit_exists_rep CategoryTheory.Limits.Concrete.isColimit_exists_rep
theorem Concrete.colimit_exists_rep [HasColimit F] (x : ↑(colimit F)) :
- ∃ (j : J)(y : F.obj j), colimit.ι F j y = x :=
+ ∃ (j : J) (y : F.obj j), colimit.ι F j y = x :=
Concrete.isColimit_exists_rep F (colimit.isColimit _) x
#align category_theory.limits.concrete.colimit_exists_rep CategoryTheory.Limits.Concrete.colimit_exists_rep
theorem Concrete.isColimit_rep_eq_of_exists {D : Cocone F} {i j : J} (hD : IsColimit D)
- (x : F.obj i) (y : F.obj j) (h : ∃ (k : _)(f : i ⟶ k)(g : j ⟶ k), F.map f x = F.map g y) :
+ (x : F.obj i) (y : F.obj j) (h : ∃ (k : _) (f : i ⟶ k) (g : j ⟶ k), F.map f x = F.map g y) :
D.ι.app i x = D.ι.app j y := by
let E := (forget C).mapCocone D
let hE : IsColimit E := isColimitOfPreserves _ hD
@@ -233,7 +233,7 @@ theorem Concrete.isColimit_rep_eq_of_exists {D : Cocone F} {i j : J} (hD : IsCol
#align category_theory.limits.concrete.is_colimit_rep_eq_of_exists CategoryTheory.Limits.Concrete.isColimit_rep_eq_of_exists
theorem Concrete.colimit_rep_eq_of_exists [HasColimit F] {i j : J} (x : F.obj i) (y : F.obj j)
- (h : ∃ (k : _)(f : i ⟶ k)(g : j ⟶ k), F.map f x = F.map g y) :
+ (h : ∃ (k : _) (f : i ⟶ k) (g : j ⟶ k), F.map f x = F.map g y) :
colimit.ι F i x = colimit.ι F j y :=
Concrete.isColimit_rep_eq_of_exists F (colimit.isColimit _) x y h
#align category_theory.limits.concrete.colimit_rep_eq_of_exists CategoryTheory.Limits.Concrete.colimit_rep_eq_of_exists
@@ -244,7 +244,7 @@ variable [IsFiltered J]
theorem Concrete.isColimit_exists_of_rep_eq {D : Cocone F} {i j : J} (hD : IsColimit D)
(x : F.obj i) (y : F.obj j) (h : D.ι.app _ x = D.ι.app _ y) :
- ∃ (k : _)(f : i ⟶ k)(g : j ⟶ k), F.map f x = F.map g y := by
+ ∃ (k : _) (f : i ⟶ k) (g : j ⟶ k), F.map f x = F.map g y := by
let E := (forget C).mapCocone D
let hE : IsColimit E := isColimitOfPreserves _ hD
let G := Types.colimitCocone.{v, v} (F ⋙ forget C)
@@ -258,7 +258,7 @@ theorem Concrete.isColimit_exists_of_rep_eq {D : Cocone F} {i j : J} (hD : IsCol
replace h := Quot.exact _ h
suffices
∀ (a b : Σj, F.obj j) (_ : EqvGen (Limits.Types.Quot.Rel.{v, v} (F ⋙ forget C)) a b),
- ∃ (k : _)(f : a.1 ⟶ k)(g : b.1 ⟶ k), F.map f a.2 = F.map g b.2
+ ∃ (k : _) (f : a.1 ⟶ k) (g : b.1 ⟶ k), F.map f a.2 = F.map g b.2
by exact this ⟨i, x⟩ ⟨j, y⟩ h
intro a b h
induction h
@@ -287,18 +287,18 @@ theorem Concrete.isColimit_exists_of_rep_eq {D : Cocone F} {i j : J} (hD : IsCol
theorem Concrete.isColimit_rep_eq_iff_exists {D : Cocone F} {i j : J} (hD : IsColimit D)
(x : F.obj i) (y : F.obj j) :
- D.ι.app i x = D.ι.app j y ↔ ∃ (k : _)(f : i ⟶ k)(g : j ⟶ k), F.map f x = F.map g y :=
+ D.ι.app i x = D.ι.app j y ↔ ∃ (k : _) (f : i ⟶ k) (g : j ⟶ k), F.map f x = F.map g y :=
⟨Concrete.isColimit_exists_of_rep_eq _ hD _ _, Concrete.isColimit_rep_eq_of_exists _ hD _ _⟩
#align category_theory.limits.concrete.is_colimit_rep_eq_iff_exists CategoryTheory.Limits.Concrete.isColimit_rep_eq_iff_exists
theorem Concrete.colimit_exists_of_rep_eq [HasColimit F] {i j : J} (x : F.obj i) (y : F.obj j)
(h : colimit.ι F _ x = colimit.ι F _ y) :
- ∃ (k : _)(f : i ⟶ k)(g : j ⟶ k), F.map f x = F.map g y :=
+ ∃ (k : _) (f : i ⟶ k) (g : j ⟶ k), F.map f x = F.map g y :=
Concrete.isColimit_exists_of_rep_eq F (colimit.isColimit _) x y h
#align category_theory.limits.concrete.colimit_exists_of_rep_eq CategoryTheory.Limits.Concrete.colimit_exists_of_rep_eq
theorem Concrete.colimit_rep_eq_iff_exists [HasColimit F] {i j : J} (x : F.obj i) (y : F.obj j) :
- colimit.ι F i x = colimit.ι F j y ↔ ∃ (k : _)(f : i ⟶ k)(g : j ⟶ k), F.map f x = F.map g y :=
+ colimit.ι F i x = colimit.ι F j y ↔ ∃ (k : _) (f : i ⟶ k) (g : j ⟶ k), F.map f x = F.map g y :=
⟨Concrete.colimit_exists_of_rep_eq _ _ _, Concrete.colimit_rep_eq_of_exists _ _ _⟩
#align category_theory.limits.concrete.colimit_rep_eq_iff_exists CategoryTheory.Limits.Concrete.colimit_rep_eq_iff_exists
@@ -312,7 +312,7 @@ open WidePushoutShape
theorem Concrete.widePushout_exists_rep {B : C} {α : Type _} {X : α → C} (f : ∀ j : α, B ⟶ X j)
[HasWidePushout.{v} B X f] [PreservesColimit (wideSpan B X f) (forget C)]
- (x : ↑(widePushout B X f)) : (∃ y : B, head f y = x) ∨ ∃ (i : α)(y : X i), ι f i y = x := by
+ (x : ↑(widePushout B X f)) : (∃ y : B, head f y = x) ∨ ∃ (i : α) (y : X i), ι f i y = x := by
obtain ⟨_ | j, y, rfl⟩ := Concrete.colimit_exists_rep _ x
· left
use y
@@ -322,7 +322,7 @@ theorem Concrete.widePushout_exists_rep {B : C} {α : Type _} {X : α → C} (f
theorem Concrete.widePushout_exists_rep' {B : C} {α : Type _} [Nonempty α] {X : α → C}
(f : ∀ j : α, B ⟶ X j) [HasWidePushout.{v} B X f] [PreservesColimit (wideSpan B X f) (forget C)]
- (x : ↑(widePushout B X f)) : ∃ (i : α)(y : X i), ι f i y = x := by
+ (x : ↑(widePushout B X f)) : ∃ (i : α) (y : X i), ι f i y = x := by
rcases Concrete.widePushout_exists_rep f x with (⟨y, rfl⟩ | ⟨i, y, rfl⟩)
· inhabit α
use default, f _ y
by
s! (#3825)
This PR puts, with one exception, every single remaining by
that lies all by itself on its own line to the previous line, thus matching the current behaviour of start-port.sh
. The exception is when the by
begins the second or later argument to a tuple or anonymous constructor; see https://github.com/leanprover-community/mathlib4/pull/3825#discussion_r1186702599.
Essentially this is s/\n *by$/ by/g
, but with manual editing to satisfy the linter's max-100-char-line requirement. The Python style linter is also modified to catch these "isolated by
s".
@@ -101,11 +101,9 @@ theorem Concrete.multiequalizer_ext {I : MulticospanIndex.{w} C} [HasMultiequali
/-- An auxiliary equivalence to be used in `multiequalizerEquiv` below.-/
def Concrete.multiequalizerEquivAux (I : MulticospanIndex C) :
(I.multicospan ⋙ forget C).sections ≃
- { x : ∀ i : I.L, I.left i // ∀ i : I.R, I.fst i (x _) = I.snd i (x _) }
- where
+ { x : ∀ i : I.L, I.left i // ∀ i : I.R, I.fst i (x _) = I.snd i (x _) } where
toFun x :=
- ⟨fun i => x.1 (WalkingMulticospan.left _), fun i =>
- by
+ ⟨fun i => x.1 (WalkingMulticospan.left _), fun i => by
have a := x.2 (WalkingMulticospan.Hom.fst i)
have b := x.2 (WalkingMulticospan.Hom.snd i)
rw [← b] at a
@@ -192,8 +190,7 @@ theorem Concrete.from_union_surjective_of_isColimit {D : Cocone F} (hD : IsColim
replace hb := congr_arg TX.inv hb
change (TX.hom ≫ TX.inv) (ff b) = (TX.hom ≫ TX.inv) _ at hb
simpa only [TX.hom_inv_id] using hb
- have : TX.hom ∘ ff = fun a => G.ι.app a.1 a.2 :=
- by
+ have : TX.hom ∘ ff = fun a => G.ι.app a.1 a.2 := by
ext a
change (E.ι.app a.1 ≫ hE.desc G) a.2 = _
rw [hE.fac]
Co-authored-by: adamtopaz <github@adamtopaz.com> Co-authored-by: Joël Riou <joel.riou@universite-paris-saclay.fr> Co-authored-by: Parcly Taxel <reddeloostw@gmail.com> Co-authored-by: Adam Topaz <adamtopaz@users.noreply.github.com> Co-authored-by: Moritz Firsching <firsching@google.com>
The unported dependencies are